summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2013-01-03 05:05:10 +0000
committerChristopher Faylor <me@cgf.cx>2013-01-03 05:05:10 +0000
commitfba91299d7afbdb58ea638113ef44ee616d690e3 (patch)
treeda35b060fc0fae9b0765c7b7898c3ecbea8bc1cd /winsup/cygwin/sigproc.cc
parentd8e0d0a1b95a85b892db1a9701c1335e19e5352d (diff)
downloadcygnal-fba91299d7afbdb58ea638113ef44ee616d690e3.tar.gz
cygnal-fba91299d7afbdb58ea638113ef44ee616d690e3.tar.bz2
cygnal-fba91299d7afbdb58ea638113ef44ee616d690e3.zip
* sigproc.cc (exit_thread): Set thread signal mask so that no signals are sent
to an exiting thread.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 122f4f865..4e8094073 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -488,7 +488,8 @@ sigproc_terminate (exit_states es)
void
exit_thread (DWORD res)
{
- lock_process for_now; /* May block indefinitely if we're exiting. */
+ sigfillset (&_my_tls.sigmask); /* No signals wanted */
+ lock_process for_now; /* May block indefinitely when exiting. */
if (exit_state)
{
for_now.release ();