aboutsummaryrefslogtreecommitdiff
path: root/gdb/thread.c
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2009-03-27 02:44:51 +0000
committerDoug Evans <dje@google.com>2009-03-27 02:44:51 +0000
commit88fc996f5819bf526d17f6f273135943ac41ab38 (patch)
tree5673e8b38801dcca18d1b339e5db4b11fb805b6d /gdb/thread.c
parentd34b50065a9298eabeaf74f2729faa66a865cccc (diff)
downloadgdb-88fc996f5819bf526d17f6f273135943ac41ab38.zip
gdb-88fc996f5819bf526d17f6f273135943ac41ab38.tar.gz
gdb-88fc996f5819bf526d17f6f273135943ac41ab38.tar.bz2
* thread.c (do_restore_current_thread_cleanup): Redo test for
whether to restore old->inferior_ptid. * gdb.mi/mi-nonstop-exit.exp: New file. * gdb.mi/non-stop-exit.c: New file.
Diffstat (limited to 'gdb/thread.c')
-rw-r--r--gdb/thread.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/thread.c b/gdb/thread.c
index 613137a..a1617f2 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -924,11 +924,10 @@ do_restore_current_thread_cleanup (void *arg)
then don't revert back to it, but instead simply drop back to no
thread selected. */
if (tp
- && is_exited (tp->ptid)
- && find_inferior_pid (ptid_get_pid (tp->ptid)) == NULL)
- restore_current_thread (null_ptid);
- else
+ && find_inferior_pid (ptid_get_pid (tp->ptid)) != NULL)
restore_current_thread (old->inferior_ptid);
+ else
+ restore_current_thread (null_ptid);
/* The running state of the originally selected thread may have
changed, so we have to recheck it here. */