aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/thread_darwin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/runtime/thread_darwin.c')
-rw-r--r--src/pkg/runtime/thread_darwin.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pkg/runtime/thread_darwin.c b/src/pkg/runtime/thread_darwin.c
index bfdd9873ea..aff2b6fd37 100644
--- a/src/pkg/runtime/thread_darwin.c
+++ b/src/pkg/runtime/thread_darwin.c
@@ -502,7 +502,11 @@ static int8 badsignal[] = "runtime: signal received on thread not created by Go.
// This runs on a foreign stack, without an m or a g. No stack split.
#pragma textflag 7
void
-runtime·badsignal(void)
+runtime·badsignal(int32 sig)
{
+ if (sig == SIGPROF) {
+ return; // Ignore SIGPROFs intended for a non-Go thread.
+ }
runtime·write(2, badsignal, sizeof badsignal - 1);
+ runtime·exit(1);
}