This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]