aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/go-signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/runtime/go-signal.c')
-rw-r--r--libgo/runtime/go-signal.c13
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;