server: When we catch SIGPROF, re-send it to the ptraced process.

This should allow profiling to work.

Change-Id: I0f437f73d5dca5171d60675830d591e0ac6cbecd
Reviewed-on: https://go-review.googlesource.com/107675
Reviewed-by: Heschi Kreinick <heschi@google.com>
diff --git a/server/server.go b/server/server.go
index 76219db..e4caa40 100644
--- a/server/server.go
+++ b/server/server.go
@@ -405,7 +405,11 @@
 		if status.StopSignal() == syscall.SIGTRAP && status.TrapCause() != syscall.PTRACE_EVENT_CLONE {
 			return wpid, nil
 		}
-		err = s.ptraceCont(wpid, 0) // TODO: non-zero when wait catches other signals?
+		if status.StopSignal() == syscall.SIGPROF {
+			err = s.ptraceCont(wpid, int(syscall.SIGPROF))
+		} else {
+			err = s.ptraceCont(wpid, 0) // TODO: non-zero when wait catches other signals?
+		}
 		if err != nil {
 			return 0, fmt.Errorf("ptraceCont: %v", err)
 		}