diff options
Diffstat (limited to 'gdb/event-top.c')
-rw-r--r-- | gdb/event-top.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gdb/event-top.c b/gdb/event-top.c index bbda5dc6f5d..e9cc2d7d3e1 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -935,24 +935,28 @@ handle_sighup (int sig) static void async_disconnect (gdb_client_data arg) { - volatile struct gdb_exception exception; - TRY_CATCH (exception, RETURN_MASK_ALL) + TRY { quit_cover (); } - if (exception.reason < 0) + CATCH (exception, RETURN_MASK_ALL) { fputs_filtered ("Could not kill the program being debugged", gdb_stderr); exception_print (gdb_stderr, exception); } + END_CATCH - TRY_CATCH (exception, RETURN_MASK_ALL) + TRY { pop_all_targets (); } + CATCH (exception, RETURN_MASK_ALL) + { + } + END_CATCH signal (SIGHUP, SIG_DFL); /*FIXME: ??????????? */ raise (SIGHUP); |