diff options
Diffstat (limited to 'libgo/runtime/go-signal.c')
-rw-r--r-- | libgo/runtime/go-signal.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c index 1e80057..9771b71 100644 --- a/libgo/runtime/go-signal.c +++ b/libgo/runtime/go-signal.c @@ -166,21 +166,22 @@ runtime_sighandler (int sig, Siginfo *info, int i; m = runtime_m (); - if (m == NULL) - { - runtime_badsignal (sig); - return; - } #ifdef SIGPROF if (sig == SIGPROF) { - if (gp != runtime_m ()->g0 && gp != runtime_m ()->gsignal) + if (m != NULL && gp != m->g0 && gp != m->gsignal) runtime_sigprof (); return; } #endif + if (m == NULL) + { + runtime_badsignal (sig); + return; + } + for (i = 0; runtime_sigtab[i].sig != -1; ++i) { SigTab *t; |