aboutsummaryrefslogtreecommitdiff
path: root/gdb/inferior.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/inferior.c')
-rw-r--r--gdb/inferior.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/gdb/inferior.c b/gdb/inferior.c
index e19a898..e060a1b 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -139,19 +139,21 @@ delete_inferior_1 (int pid, int silent)
if (!inf)
return;
- if (infprev)
- infprev->next = inf->next;
- else
- inferior_list = inf->next;
-
- free_inferior (inf);
-
arg.pid = pid;
arg.silent = silent;
iterate_over_threads (delete_thread_of_inferior, &arg);
+ /* Notify the observers before removing the inferior from the list,
+ so that the observers have a change to look it up. */
observer_notify_inferior_exit (pid);
+
+ if (infprev)
+ infprev->next = inf->next;
+ else
+ inferior_list = inf->next;
+
+ free_inferior (inf);
}
void