Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-10-28 21:32:38 +0400
committerChristopher Faylor <me@cgf.cx>2011-10-28 21:32:38 +0400
commit673a6913728d964c470470ca704d17ac74f07603 (patch)
tree08840cabbffc7593af1a7cdbbd722f579cf8cf26 /winsup/cygwin/exceptions.cc
parent8b5e267bb86f6642fc9de366307cf3ace7899930 (diff)
* exceptions.cc (sigpacket::process): Avoid a potential deadlock when exiting
due to a signal.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index a5e0e874a..aef82018d 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1321,6 +1321,7 @@ exit_sig:
if (cygheap->rlim_core > 0UL)
si.si_signo |= 0x80;
}
+ SetEvent (signal_arrived); // To avoid a potential deadlock with proc_lock
sigproc_printf ("signal %d, about to call do_exit", si.si_signo);
use_tls->signal_exit (si.si_signo); /* never returns */
}