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:
authorCorinna Vinschen <corinna@vinschen.de>2015-10-30 19:21:30 +0300
committerCorinna Vinschen <corinna@vinschen.de>2015-10-30 19:21:30 +0300
commit4a407e9037b476febcda43eba568f610107d84e6 (patch)
treeb2491d36641083c38a20f573139150a1fc5bb32e
parent8f97c045b8e65784071fd097fc32a1f16b855b3b (diff)
Avoid double unlock of TLS mutex
* exceptions.cc (sigpacket::process): Avoid potentially double unlocking the TLS mutex. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/exceptions.cc5
2 files changed, 6 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 3fb4372ac..3c489d194 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2015-10-30 Corinna Vinschen <corinna@vinschen.de>
+ * exceptions.cc (sigpacket::process): Avoid potentially double unlocking
+ the TLS mutex.
+
+2015-10-30 Corinna Vinschen <corinna@vinschen.d>
+
* signal.cc (sigwait): Fix return value to reflect errno in case of
error according to POSIX. Never return EINTR.
* thread.cc (pthread_kill): Return errno if sig_send failed.
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 60f09d654..9119a8c08 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1475,10 +1475,7 @@ sigpacket::process ()
else if (!sigismember (&tls->sigmask, si.si_signo))
issig_wait = false;
else
- {
- cygheap->unlock_tls (tl_entry);
- tls = NULL;
- }
+ tls = NULL;
}
}