diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2013-07-23 04:42:09 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2013-07-23 04:42:09 +0000 |
commit | 5f9ae7f2d6fa96a0107bbfc9e8d7cd3727fcf2d0 (patch) | |
tree | cec25b76a29bb0eee3093c06dc1f16e49b741531 | |
parent | 433cc7b037fbadc15e43083aed48e2f71e0e282f (diff) | |
download | gcc-5f9ae7f2d6fa96a0107bbfc9e8d7cd3727fcf2d0.tar.gz |
runtime: Ignore SIGPROF if not on a Go thread.
From-SVN: r201154
-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 1e800578ffa..9771b71cfcf 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; |