diff options
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index df0248947..a66644cc7 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1207,11 +1207,12 @@ sigpacket::process () insigwait_mask = false; else if (tls) insigwait_mask = sigismember (&tls->sigwait_mask, si.si_signo); + else if (!(tls = _cygtls::find_tls (si.si_signo))) + insigwait_mask = false; else { - insigwait_mask = !handler && (tls = _cygtls::find_tls (si.si_signo)); - if (tls) - use_tls = tls; + use_tls = tls; + insigwait_mask = true; } if (insigwait_mask) |