"cygwin_finished_initializing".
* sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid recursion on
error return.
+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.
{
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
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)
siginfo_t si = {__SIGTHREADEXIT, SI_KERNEL};
si.si_cyg = h;
sig_send (myself_nowait, si, &_my_tls);
-# undef ExitThread
ExitThread (0);
}