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-11-29 19:34:49 +0400
committerChristopher Faylor <me@cgf.cx>2011-11-29 19:34:49 +0400
commit480b13a37aa1ca2e8ef6135a6d8dd9462c3df30e (patch)
treea612763e4e2bbc4d5298581ea617b73e8af693cd /winsup/cygwin/sigproc.cc
parentd1fc77322f7e413e2d717d006ffe0a55f913e2b2 (diff)
* sigproc.cc (remove_proc): Don't terminate the currently executing thread.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index fac5088a6..d5c96168a 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -1135,7 +1135,10 @@ static bool __stdcall
remove_proc (int ci)
{
if (have_execed)
- procs[ci].wait_thread->terminate_thread ();
+ {
+ if (_my_tls._ctinfo != procs[ci].wait_thread)
+ procs[ci].wait_thread->terminate_thread ();
+ }
else if (procs[ci]->exists ())
return true;