summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/exceptions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc24
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)