diff options
Diffstat (limited to 'src/pkg/runtime/thread_darwin.c')
-rw-r--r-- | src/pkg/runtime/thread_darwin.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/pkg/runtime/thread_darwin.c b/src/pkg/runtime/thread_darwin.c index 556fb67e8..6a83e48a3 100644 --- a/src/pkg/runtime/thread_darwin.c +++ b/src/pkg/runtime/thread_darwin.c @@ -477,3 +477,23 @@ runtime·setprof(bool on) else runtime·sigprocmask(SIG_BLOCK, &sigset_prof, nil); } + +static int8 badcallback[] = "runtime: cgo callback on thread not created by Go.\n"; + +// This runs on a foreign stack, without an m or a g. No stack split. +#pragma textflag 7 +void +runtime·badcallback(void) +{ + runtime·write(2, badcallback, sizeof badcallback - 1); +} + +static int8 badsignal[] = "runtime: signal received on thread not created by Go.\n"; + +// This runs on a foreign stack, without an m or a g. No stack split. +#pragma textflag 7 +void +runtime·badsignal(void) +{ + runtime·write(2, badsignal, sizeof badsignal - 1); +} |