diff options
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 37607cd8e..0102371a7 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -849,8 +849,7 @@ setup_handler (int sig, void *handler, struct sigaction& siga) if (th) { interrupted = interrupt_on_return (th, sig, handler, siga); - if (!interrupted) - LeaveCriticalSection (&th->lock); + LeaveCriticalSection (&th->lock); } else if (interruptible (cx.Eip)) interrupted = interrupt_now (&cx, sig, handler, siga); @@ -870,9 +869,6 @@ setup_handler (int sig, void *handler, struct sigaction& siga) sigproc_printf ("couldn't send signal %d", sig); } - if (th) - LeaveCriticalSection (&th->lock); - if (!hth) sigproc_printf ("good. Didn't suspend main thread, th %p", th); else |