* exceptions.cc (exception::handle): Eliminate buggy recursed value and just
check if we're exiting.
This commit is contained in:
parent
a4239bd48d
commit
aad4a3c932
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue