summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/pinfo.cc5
2 files changed, 9 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c34f37e83..98bd9f328 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2005-09-23 Christopher Faylor <cgf@timesys.com>
+ * pinfo.cc (pinfo::exit): Call ExitProcess if called from signal
+ thread.
+
+2005-09-23 Christopher Faylor <cgf@timesys.com>
+
* pinfo.cc (pinfo::exit): Eliminate use of _my_tls.thread_handle.
* tlsoffsets.h: Regenerate.
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 59eb65207..2a5f47c9f 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -172,7 +172,10 @@ pinfo::exit (DWORD n)
_my_tls.stackptr = _my_tls.stack;
sigproc_printf ("Calling ExitThread hProcess %p, n %p, exitcode %p",
hProcess, n, exitcode);
- ExitThread (exitcode);
+ if (&_my_tls == _sig_tls)
+ ExitProcess (exitcode);
+ else
+ ExitThread (exitcode);
}
# undef self