diff options
author | Christopher Faylor <me@cgf.cx> | 2011-11-29 15:34:49 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-11-29 15:34:49 +0000 |
commit | 480b13a37aa1ca2e8ef6135a6d8dd9462c3df30e (patch) | |
tree | a612763e4e2bbc4d5298581ea617b73e8af693cd /winsup/cygwin/sigproc.cc | |
parent | d1fc77322f7e413e2d717d006ffe0a55f913e2b2 (diff) | |
download | cygnal-480b13a37aa1ca2e8ef6135a6d8dd9462c3df30e.tar.gz cygnal-480b13a37aa1ca2e8ef6135a6d8dd9462c3df30e.tar.bz2 cygnal-480b13a37aa1ca2e8ef6135a6d8dd9462c3df30e.zip |
* sigproc.cc (remove_proc): Don't terminate the currently executing thread.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 5 |
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; |