summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/cygtls.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-10-23 14:30:40 +0200
committerCorinna Vinschen <corinna@vinschen.de>2015-10-23 14:30:40 +0200
commitcf51db8baafb5c642f8c976f479a9af9e6f52fd3 (patch)
tree31f33f83e247d788ec40b2dc34185bae87cf6240 /winsup/cygwin/cygtls.cc
parent505812d04283d9276bb462683bbfaf52b241ac05 (diff)
downloadcygnal-cf51db8baafb5c642f8c976f479a9af9e6f52fd3.tar.gz
cygnal-cf51db8baafb5c642f8c976f479a9af9e6f52fd3.tar.bz2
cygnal-cf51db8baafb5c642f8c976f479a9af9e6f52fd3.zip
Clear pending signals targeting exiting threadnewlib-snapshot-20151023
* cygtls.cc (_cygtls::remove): Call remove_pending_sigs. * cygtls.h (_cygtls::remove_pending_sigs): Declare. * sigproc.cc (pending_signals::clear): Define new method taking a _cygtls pointer argument. Drop pending signals for that thread. (_cygtls::remove_pending_sigs): Call pending_signals::clear for this thread. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/cygtls.cc')
-rw-r--r--winsup/cygwin/cygtls.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc
index cb8c24e8f..c94578ffa 100644
--- a/winsup/cygwin/cygtls.cc
+++ b/winsup/cygwin/cygtls.cc
@@ -187,6 +187,7 @@ _cygtls::remove (DWORD wait)
/* FIXME: Need some sort of atthreadexit function to allow things like
select to control this themselves. */
+ remove_pending_sigs ();
if (signal_arrived)
{
HANDLE h = signal_arrived;