* exceptions.cc (_cygtls::handle_exceptions): When being debugged,
leave through SetThreadContext, too, to keep exception handler stack intact.
This commit is contained in:
parent
5003a3d1c5
commit
83082b6a68
|
@ -1,3 +1,9 @@
|
||||||
|
2008-02-28 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* exceptions.cc (_cygtls::handle_exceptions): When being debugged,
|
||||||
|
leave through SetThreadContext, too, to keep exception handler stack
|
||||||
|
intact.
|
||||||
|
|
||||||
2008-02-28 Corinna Vinschen <corinna@vinschen.de>
|
2008-02-28 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* exceptions.cc (open_stackdumpfile): Add comments.
|
* exceptions.cc (open_stackdumpfile): Add comments.
|
||||||
|
|
|
@ -647,7 +647,7 @@ _cygtls::handle_exceptions (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT
|
||||||
if (try_to_debug (0))
|
if (try_to_debug (0))
|
||||||
{
|
{
|
||||||
debugging = true;
|
debugging = true;
|
||||||
return 0;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
open_stackdumpfile ();
|
open_stackdumpfile ();
|
||||||
|
@ -692,7 +692,7 @@ _cygtls::handle_exceptions (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT
|
||||||
to the caller without visiting any of the helpful code installed prior
|
to the caller without visiting any of the helpful code installed prior
|
||||||
to this function. This should work ok, since a longjmp() out of here has
|
to this function. This should work ok, since a longjmp() out of here has
|
||||||
to work if linux signal semantics are to be maintained. */
|
to work if linux signal semantics are to be maintained. */
|
||||||
|
out:
|
||||||
SetThreadContext (GetCurrentThread (), in);
|
SetThreadContext (GetCurrentThread (), in);
|
||||||
return 0; /* Never actually returns. This is just to keep gcc happy. */
|
return 0; /* Never actually returns. This is just to keep gcc happy. */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue