diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/inflow.c | 19 |
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 (); } |