]> sourceware.org Git - newlib-cygwin.git/commitdiff
* exceptions.cc (ctrl_c_handler): Remove special-case handler for
authorChristopher Faylor <me@cgf.cx>
Sat, 19 Jan 2013 05:57:06 +0000 (05:57 +0000)
committerChristopher Faylor <me@cgf.cx>
Sat, 19 Jan 2013 05:57:06 +0000 (05:57 +0000)
"cygwin_finished_initializing".
* sigproc.cc (exit_thread): Undefine ExitThread earlier to avoid recursion on
error return.

winsup/cygwin/ChangeLog
winsup/cygwin/exceptions.cc
winsup/cygwin/sigproc.cc

index e43b049a856999d3fa41879a130da0e880c9256c..cd2f45a27c2664a348f65a740a4c30c8c0f44093 100644 (file)
@@ -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.
index c8bf6d2cbe11262f8a0eb93a40662986151291e1..caccb8f534532b13f6194566029930be2b94a9c9 100644 (file)
@@ -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
index fc5631785617e653d91929c0e49651d121a0b770..f1d299800ee57b38734ec314e1d57fbfb731a82b 100644 (file)
@@ -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);
 }
 
This page took 0.03559 seconds and 5 git commands to generate.