LEFT | RIGHT |
(no file at all) | |
1 // Use of this source file is governed by a BSD-style | 1 // Use of this source file is governed by a BSD-style |
2 // license that can be found in the LICENSE file.` | 2 // license that can be found in the LICENSE file.` |
3 | 3 |
4 #include "runtime.h" | 4 #include "runtime.h" |
5 #include "defs_GOOS_GOARCH.h" | 5 #include "defs_GOOS_GOARCH.h" |
6 #include "os_GOOS.h" | 6 #include "os_GOOS.h" |
7 #include "stack.h" | 7 #include "stack.h" |
8 | 8 |
9 extern SigTab runtime·sigtab[]; | 9 extern SigTab runtime·sigtab[]; |
10 extern int32 runtime·sys_umtx_op(uint32*, int32, uint32, void*, void*); | 10 extern int32 runtime·sys_umtx_op(uint32*, int32, uint32, void*, void*); |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 runtime·badcallback(void) | 204 runtime·badcallback(void) |
205 { | 205 { |
206 runtime·write(2, badcallback, sizeof badcallback - 1); | 206 runtime·write(2, badcallback, sizeof badcallback - 1); |
207 } | 207 } |
208 | 208 |
209 static int8 badsignal[] = "runtime: signal received on thread not created by Go.
\n"; | 209 static int8 badsignal[] = "runtime: signal received on thread not created by Go.
\n"; |
210 | 210 |
211 // This runs on a foreign stack, without an m or a g. No stack split. | 211 // This runs on a foreign stack, without an m or a g. No stack split. |
212 #pragma textflag 7 | 212 #pragma textflag 7 |
213 void | 213 void |
214 runtime·badsignal(void) | 214 runtime·badsignal(int32 sig) |
215 { | 215 { |
| 216 » if (sig == SIGPROF) { |
| 217 » » return; // Ignore SIGPROFs intended for a non-Go thread. |
| 218 » } |
216 runtime·write(2, badsignal, sizeof badsignal - 1); | 219 runtime·write(2, badsignal, sizeof badsignal - 1); |
217 } | 220 » runtime·exit(1); |
| 221 } |
LEFT | RIGHT |