diff options
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index a28b90af5..590fcd9b5 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1123,7 +1123,6 @@ sigpacket::process () { bool continue_now; struct sigaction dummy = global_sigs[SIGSTOP]; - _cygtls *tls; if (si.si_signo != SIGCONT) continue_now = false; @@ -1159,20 +1158,11 @@ sigpacket::process () myself->rusage_self.ru_nsignals++; - void *handler = (void *) thissig.sa_handler; - if (handler == SIG_IGN) - { - sigproc_printf ("signal %d ignored", si.si_signo); - goto done; - } - - if (have_execed) - handler = NULL; - + _cygtls *tls; if (sigtls) { tls = sigtls; - sigproc_printf ("using sigtls %p", tls); + sigproc_printf ("using sigtls %p", sigtls); } else { @@ -1180,6 +1170,16 @@ sigpacket::process () sigproc_printf ("using tls %p", tls); } + void *handler = (void *) thissig.sa_handler; + if (have_execed) + handler = NULL; + + if (handler == SIG_IGN) + { + sigproc_printf ("signal %d ignored", si.si_signo); + goto done; + } + if (si.si_signo == SIGKILL) goto exit_sig; if (si.si_signo == SIGSTOP) |