xfree (inf->terminal);
free_environ (inf->environment);
target_desc_info_free (inf->tdesc_info);
- xfree (inf->private);
+ xfree (inf->priv);
xfree (inf);
}
{
struct inferior *inf;
- inf = xmalloc (sizeof (*inf));
+ inf = XNEW (struct inferior);
memset (inf, 0, sizeof (*inf));
inf->pid = pid;
return 0;
}
-/* If SILENT then be quiet -- don't announce a inferior death, or the
- exit of its threads. */
-
void
-delete_inferior_1 (struct inferior *todel, int silent)
+delete_inferior (struct inferior *todel)
{
struct inferior *inf, *infprev;
struct delete_thread_of_inferior_arg arg;
return;
arg.pid = inf->pid;
- arg.silent = silent;
+ arg.silent = 1;
iterate_over_threads (delete_thread_of_inferior, &arg);
observer_notify_inferior_removed (inf);
- free_inferior (inf);
-}
-
-void
-delete_inferior (int pid)
-{
- struct inferior *inf = find_inferior_pid (pid);
-
- delete_inferior_1 (inf, 0);
-
- if (print_inferior_events)
- printf_unfiltered (_("[Inferior %d exited]\n"), pid);
-}
-
-void
-delete_inferior_silent (int pid)
-{
- struct inferior *inf = find_inferior_pid (pid);
+ /* If this program space is rendered useless, remove it. */
+ if (program_space_empty_p (inf->pspace))
+ delete_program_space (inf->pspace);
- delete_inferior_1 (inf, 1);
+ free_inferior (inf);
}
-
/* If SILENT then be quiet -- don't announce a inferior exit, or the
exit of its threads. */
{
struct inferior *inf = find_inferior_pid (pid);
- exit_inferior_1 (inf, 1);
+ exit_inferior_1 (inf, 0);
if (print_inferior_events)
printf_unfiltered (_("[Inferior %d detached]\n"), pid);
}
*ss_link = ss->next;
- delete_inferior_1 (ss, 1);
+ delete_inferior (ss);
ss = *ss_link;
}
-
- prune_program_spaces ();
}
/* Simply returns the count of inferiors. */
}
pid = gdb_inferior_id_to_pid (num);
+ if (pid == 0)
+ {
+ warning (_("Inferior ID %d is not running."), num);
+ continue;
+ }
tp = any_thread_of_process (pid);
if (!tp)
}
pid = gdb_inferior_id_to_pid (num);
+ if (pid == 0)
+ {
+ warning (_("Inferior ID %d is not running."), num);
+ continue;
+ }
tp = any_thread_of_process (pid);
if (!tp)
continue;
}
- delete_inferior_1 (inf, 1);
+ delete_inferior (inf);
}
-
- prune_program_spaces ();
}
struct inferior *