aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/thread_freebsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/runtime/thread_freebsd.c')
-rw-r--r--src/pkg/runtime/thread_freebsd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pkg/runtime/thread_freebsd.c b/src/pkg/runtime/thread_freebsd.c
index 1597b1e88b..4d39f3c804 100644
--- a/src/pkg/runtime/thread_freebsd.c
+++ b/src/pkg/runtime/thread_freebsd.c
@@ -211,7 +211,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);
}