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
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2013-01-19 09:57:06 +0400
committerChristopher Faylor <me@cgf.cx>2013-01-19 09:57:06 +0400
commitd5c977948bb2c66852d7a79a04484aa5c0eecaa4 (patch)
tree4ebe4eef4dd87d4e4ac58f7e503638cc17e58ff5 /winsup
parent5d858e49eb8f6f28c60d2d61e02999fe05753be2 (diff)
* exceptions.cc (ctrl_c_handler): Remove special-case handler for
"cygwin_finished_initializing". * sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid recursion on error return.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/exceptions.cc8
-rw-r--r--winsup/cygwin/sigproc.cc2
3 files changed, 8 insertions, 9 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index e43b049a8..cd2f45a27 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2013-01-19 Christopher Faylor <me.cygwin2013@cgf.cx>
+
+ * exceptions.cc (ctrl_c_handler): Remove special-case handler for
+ "cygwin_finished_initializing".
+ * sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid
+ recursion on error return.
+
2013-01-18 Corinna Vinschen <corinna@vinschen.de>
* errno.cc (errmap): Map ERROR_LOCK_VIOLATION to EBUSY.
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index c8bf6d2cb..caccb8f53 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -875,14 +875,6 @@ ctrl_c_handler (DWORD type)
{
static bool saw_close;
- if (!cygwin_finished_initializing)
- {
- if (myself->cygstarted) /* Was this process created by a cygwin process? */
- return TRUE; /* Yes. Let the parent eventually handle CTRL-C issues. */
- debug_printf ("exiting with status %p", STATUS_CONTROL_C_EXIT);
- ExitProcess (STATUS_CONTROL_C_EXIT);
- }
-
/* Remove early or we could overthrow the threadlist in cygheap.
Deleting this line causes ash to SEGV if CTRL-C is hit repeatedly.
I am not exactly sure why that is. Maybe it's just because this
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index fc5631785..f1d299800 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -471,6 +471,7 @@ sigproc_init ()
void
exit_thread (DWORD res)
{
+# undef ExitThread
sigfillset (&_my_tls.sigmask); /* No signals wanted */
lock_process for_now; /* May block indefinitely when exiting. */
if (exit_state)
@@ -496,7 +497,6 @@ exit_thread (DWORD res)
siginfo_t si = {__SIGTHREADEXIT, SI_KERNEL};
si.si_cyg = h;
sig_send (myself_nowait, si, &_my_tls);
-# undef ExitThread
ExitThread (0);
}