diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/infrun.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 27f42a1..deb5622 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2000-04-04 Nick Duffek <nsd@cygnus.com> + + * infrun.c (handle_inferior_event): Call target_mourn_inferior + instead of kill_target. + 2000-04-04 Daniel Berlin <dan@cgsoftware.com> * TODO: Make note of various C++ things i have planned for 5.1. diff --git a/gdb/infrun.c b/gdb/infrun.c index 6bc32d8..594523f 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1555,12 +1555,12 @@ handle_inferior_event (struct execution_control_state *ecs) stop_signal = ecs->ws.value.sig; target_terminal_ours (); /* Must do this before mourn anyway */ - /* This looks pretty bogus to me. Doesn't TARGET_WAITKIND_SIGNALLED - mean it is already dead? This has been here since GDB 2.8, so - perhaps it means rms didn't understand unix waitstatuses? - For the moment I'm just kludging around this in remote.c - rather than trying to change it here --kingdon, 5 Dec 1994. */ - target_kill (); /* kill mourns as well */ + /* Note: By definition of TARGET_WAITKIND_SIGNALLED, we shouldn't + reach here unless the inferior is dead. However, for years + target_kill() was called here, which hints that fatal signals aren't + really fatal on some systems. If that's true, then some changes + may be needed. */ + target_mourn_inferior (); print_stop_reason (SIGNAL_EXITED, stop_signal); singlestep_breakpoints_inserted_p = 0; /*SOFTWARE_SINGLE_STEP_P */ |