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>2013-01-03 09:05:10 +0400
committerChristopher Faylor <me@cgf.cx>2013-01-03 09:05:10 +0400
commitfba91299d7afbdb58ea638113ef44ee616d690e3 (patch)
treeda35b060fc0fae9b0765c7b7898c3ecbea8bc1cd /winsup/cygwin
parentd8e0d0a1b95a85b892db1a9701c1335e19e5352d (diff)
* sigproc.cc (exit_thread): Set thread signal mask so that no signals are sent
to an exiting thread.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/sigproc.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index d962ca601..3b28859ac 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-03 Christopher Faylor <me.cygwin2013@cgf.cx>
+
+ * sigproc.cc (exit_thread): Set thread signal mask so that no signals
+ are sent to an exiting thread.
+
2013-01-02 Christopher Faylor <me.cygwin2013@cgf.cx>
* sigproc.cc (no_signals_available): Remove exit_state test since
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 ();