diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 7 | ||||
-rw-r--r-- | winsup/cygwin/exceptions.cc | 8 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.cc | 2 |
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); } |