* inflow.c (kill_command): If the target claims there is still
authorPedro Alves <palves@redhat.com>
Mon, 27 Oct 2008 22:37:20 +0000 (22:37 +0000)
committerPedro Alves <palves@redhat.com>
Mon, 27 Oct 2008 22:37:20 +0000 (22:37 +0000)
execution, don't clear the thread list.

gdb/ChangeLog
gdb/inflow.c

index f55262c475d13c7a6e0f9112f0bea05101ce24f5..48d67814f48034e8afc540cdc792d426eec8567a 100644 (file)
@@ -1,3 +1,8 @@
+2008-10-27  Pedro Alves  <pedro@codesourcery.com>
+
+       * inflow.c (kill_command): If the target claims there is still
+       execution, don't clear the thread list.
+
 2008-10-27  Pedro Alves  <pedro@codesourcery.com>
 
        * cp-name-parser.y: Include defs.h instead of config.h.
index 2ba2a344f90db3d6c8c4f6f7e009987ab7b9d8e3..e82514e99d9df94487c2f3a5328c30de96656bd3 100644 (file)
@@ -601,14 +601,19 @@ kill_command (char *arg, int from_tty)
     error (_("Not confirmed."));
   target_kill ();
 
-  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)
+  /* If the current target interface claims there's still execution,
+     then don't mess with threads of other processes.  */
+  if (!target_has_execution)
     {
-      printf_filtered (_("In %s,\n"), target_longname);
-      print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
+      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 ();
 }