aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2008-10-27 22:37:20 +0000
committerPedro Alves <palves@redhat.com>2008-10-27 22:37:20 +0000
commit5a55c295aa3da4f5f157e7c65359e1e18a1a4cea (patch)
treebc316ae20a0f9497517a83dc3f700021b7fb510b /gdb
parent5256a53bb3fbf514d1e9a1fed84ce57d7a94ecc8 (diff)
downloadgdb-5a55c295aa3da4f5f157e7c65359e1e18a1a4cea.zip
gdb-5a55c295aa3da4f5f157e7c65359e1e18a1a4cea.tar.gz
gdb-5a55c295aa3da4f5f157e7c65359e1e18a1a4cea.tar.bz2
* inflow.c (kill_command): If the target claims there is still
execution, don't clear the thread list.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/inflow.c19
2 files changed, 17 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f55262c..48d6781 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
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.
(parse_escape): Rename to ...
(cp_parse_escape): ... this.
diff --git a/gdb/inflow.c b/gdb/inflow.c
index 2ba2a34..e82514e 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -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 ();
}