* exceptions.cc (exception::handle): Eliminate buggy recursed value and just
check if we're exiting.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | 2013-03-01  Christopher Faylor  <me.cygwin2013@cgf.cx> | ||||||
|  |  | ||||||
|  | 	* exceptions.cc (exception::handle): Eliminate buggy recursed value and | ||||||
|  | 	just check if we're exiting. | ||||||
|  |  | ||||||
| 2013-02-26  Corinna Vinschen  <corinna@vinschen.de> | 2013-02-26  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
| 	* include/pthread.h (pthread_atfork): Add missing declaration. | 	* include/pthread.h (pthread_atfork): Add missing declaration. | ||||||
|   | |||||||
| @@ -469,7 +469,6 @@ int | |||||||
| exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void *) | exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void *) | ||||||
| { | { | ||||||
|   static bool NO_COPY debugging; |   static bool NO_COPY debugging; | ||||||
|   static int NO_COPY recursed; |  | ||||||
|   _cygtls& me = _my_tls; |   _cygtls& me = _my_tls; | ||||||
|  |  | ||||||
|   if (debugging && ++debugging < 500000) |   if (debugging && ++debugging < 500000) | ||||||
| @@ -616,8 +615,9 @@ exception::handle (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT *in, void | |||||||
|  |  | ||||||
|   /* Another exception could happen while tracing or while exiting. |   /* Another exception could happen while tracing or while exiting. | ||||||
|      Only do this once.  */ |      Only do this once.  */ | ||||||
|   if (recursed++) |   if (exit_state >= ES_SIGNAL_EXIT | ||||||
|     api_fatal ("Error while dumping state (probably corrupted stack)"); |       && (NTSTATUS) e->ExceptionCode != STATUS_CONTROL_C_EXIT) | ||||||
|  |     api_fatal ("Exception during process exit"); | ||||||
|   else if (!try_to_debug (0)) |   else if (!try_to_debug (0)) | ||||||
|     rtl_unwind (frame, e); |     rtl_unwind (frame, e); | ||||||
|   else |   else | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user