diff options
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 01460ef..ff956d3 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -3054,14 +3054,22 @@ print_stop_reason (enum inferior_stop_reason stop_reason, int stop_info) void normal_stop (void) { + struct target_waitstatus last; + ptid_t last_ptid; + + get_last_target_status (&last_ptid, &last); + /* As with the notification of thread events, we want to delay notifying the user that we've switched thread context until the inferior actually stops. - (Note that there's no point in saying anything if the inferior - has exited!) */ + There's no point in saying anything if the inferior has exited. + Note that SIGNALLED here means "exited with a signal", not + "received a signal". */ if (!ptid_equal (previous_inferior_ptid, inferior_ptid) - && target_has_execution) + && target_has_execution + && last.kind != TARGET_WAITKIND_SIGNALLED + && last.kind != TARGET_WAITKIND_EXITED) { target_terminal_ours_for_output (); printf_filtered ("[Switching to %s]\n", |