From 5a55c295aa3da4f5f157e7c65359e1e18a1a4cea Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 27 Oct 2008 22:37:20 +0000 Subject: [PATCH] * inflow.c (kill_command): If the target claims there is still execution, don't clear the thread list. --- gdb/ChangeLog | 5 +++++ gdb/inflow.c | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f55262c475d..48d67814f48 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-10-27 Pedro Alves + + * inflow.c (kill_command): If the target claims there is still + execution, don't clear the thread list. + 2008-10-27 Pedro Alves * cp-name-parser.y: Include defs.h instead of config.h. diff --git a/gdb/inflow.c b/gdb/inflow.c index 2ba2a344f90..e82514e99d9 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 (); } -- 2.30.2