This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Move the kill command to infcmd.c
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Date: Tue, 19 May 2009 04:02:50 +0100
- Subject: Move the kill command to infcmd.c
Having just mentioned it in my previous message, made me go "why not"?
This command really belongs in infcmd.c on this day and age, near
its "detach" sibling. I'm running this through the testsuite just in
case, and will check it in if all goes well.
(inferior_ptid is currently cleared in _initialize_infrun, where it
belongs)
--
Pedro Alves
2009-05-19 Pedro Alves <pedro@codesourcery.com>
* 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/infcmd.c | 34 ++++++++++++++++++++++++++++++++++
gdb/inflow.c | 37 -------------------------------------
2 files changed, 34 insertions(+), 37 deletions(-)
Index: src/gdb/infcmd.c
===================================================================
--- src.orig/gdb/infcmd.c 2009-05-19 03:48:40.000000000 +0100
+++ src/gdb/infcmd.c 2009-05-19 03:50:31.000000000 +0100
@@ -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 separa
&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\
Index: src/gdb/inflow.c
===================================================================
--- src.orig/gdb/inflow.c 2009-05-19 03:48:34.000000000 +0100
+++ src/gdb/inflow.c 2009-05-19 03:50:33.000000000 +0100
@@ -696,38 +696,6 @@ new_tty_postfork (void)
}
-/* 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