From 5fd62852f643d6fa71d7a0225237c7874868b695 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 19 May 2009 10:08:19 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 8 ++++++++ gdb/infcmd.c | 34 ++++++++++++++++++++++++++++++++++ gdb/inflow.c | 37 ------------------------------------- 3 files changed, 42 insertions(+), 37 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 033dd7d8aef..fc55a205487 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2009-05-19 Pedro Alves + + * 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. + 2009-05-19 Pedro Alves * fork-child.c: Don't include frame.h. Include terminal.h. diff --git a/gdb/infcmd.c b/gdb/infcmd.c index fcb0f911f2e..433b0b83d4c 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -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\ diff --git a/gdb/inflow.c b/gdb/inflow.c index f65b9c52c45..6ca5bd8cc4a 100644 --- a/gdb/inflow.c +++ b/gdb/inflow.c @@ -695,38 +695,6 @@ new_tty_postfork (void) inferior_thisrun_terminal = NULL; } - -/* 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 (); -} /* Call set_sigint_trap when you need to pass a signal on to an attached process when handling SIGINT */ @@ -848,11 +816,6 @@ _initialize_inflow (void) add_info ("terminal", term_info, _("Print inferior's saved terminal status.")); - add_com ("kill", class_run, kill_command, - _("Kill execution of program being debugged.")); - - inferior_ptid = null_ptid; - terminal_is_ours = 1; /* OK, figure out whether we have job control. If neither termios nor -- 2.30.2