* inflow.c (kill_command): Moved to infcmd.c.

(_initialize_inflow): Don't add the "kill" command or clear
	inferior_ptid here.
	* infcmd.c (kill_command): Moved here from inflow.c.
	(_initialize_infcmd): Add the "kill" command here.
This commit is contained in:
Pedro Alves
2009-05-19 10:08:19 +00:00
parent 4e55d6c3ee
commit 5fd62852f6
3 changed files with 42 additions and 37 deletions

View File

@ -2037,6 +2037,37 @@ vector_info (char *args, int from_tty)
get_selected_frame (NULL), args);
}
/* Kill the inferior process. Make us have no inferior. */
static void
kill_command (char *arg, int from_tty)
{
/* FIXME: This should not really be inferior_ptid (or target_has_execution).
It should be a distinct flag that indicates that a target is active, cuz
some targets don't have processes! */
if (ptid_equal (inferior_ptid, null_ptid))
error (_("The program is not being run."));
if (!query (_("Kill the program being debugged? ")))
error (_("Not confirmed."));
target_kill ();
/* If the current target interface claims there's still execution,
then don't mess with threads of other processes. */
if (!target_has_execution)
{
init_thread_list (); /* Destroy thread info */
/* Killing off the inferior can leave us with a core file. If
so, print the state we are left in. */
if (target_has_stack)
{
printf_filtered (_("In %s,\n"), target_longname);
print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
}
}
bfd_cache_close_all ();
}
/* Used in `attach&' command. ARG is a point to an integer
representing a process id. Proceed threads of this process iff
@ -2595,6 +2626,9 @@ fully linked executable files and separately compiled object files as needed."),
&showlist);
set_cmd_completer (c, noop_completer);
add_com ("kill", class_run, kill_command,
_("Kill execution of program being debugged."));
add_com ("attach", class_run, attach_command, _("\
Attach to a process or file outside of GDB.\n\
This command attaches to another target, of the same type as your last\n\