mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-21 00:07:36 +08:00
* 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.
This commit is contained in:
parent
5d858e49eb
commit
d5c977948b
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user