From e0bb1c1c26100adf76647b45e24aedd73a355b5e Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Fri, 22 Aug 2008 14:06:29 +0000 Subject: [PATCH] * infrun.c (proceed): Move back setting previous_inferior_ptid from here ... (wait_for_inferior): ... to here. (fetch_inferior_event): ... and here. --- gdb/ChangeLog | 7 +++++++ gdb/infrun.c | 13 ++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c67ade7fd6d..155fb66a4e2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2008-08-22 Pedro Alves + + * infrun.c (proceed): Move back setting previous_inferior_ptid + from here ... + (wait_for_inferior): ... to here. + (fetch_inferior_event): ... and here. + 2008-08-21 Ulrich Weigand * gdbarch.sh: Include "regcache.h" into gdbarch.c. diff --git a/gdb/infrun.c b/gdb/infrun.c index 5d420043df8..de1827eb669 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1336,9 +1336,6 @@ proceed (CORE_ADDR addr, enum target_signal siggnal, int step) /* Fill in with reasonable starting values. */ init_thread_stepping_state (tss); - /* We'll update this if & when we switch to a new thread. */ - previous_inferior_ptid = inferior_ptid; - /* Reset to normal state. */ init_infwait_state (); @@ -1516,6 +1513,9 @@ wait_for_inferior (int treat_exec_as_sigtrap) overlay_cache_invalid = 1; + /* We'll update this if & when we switch to a new thread. */ + previous_inferior_ptid = inferior_ptid; + /* We have to invalidate the registers BEFORE calling target_wait because they can be loaded from the target while in target_wait. This makes remote debugging a bit more efficient for those @@ -1568,6 +1568,13 @@ fetch_inferior_event (void *client_data) overlay_cache_invalid = 1; + /* We can only rely on wait_for_more being correct before handling + the event in all-stop, but previous_inferior_ptid isn't used in + non-stop. */ + if (!ecs->wait_some_more) + /* We'll update this if & when we switch to a new thread. */ + previous_inferior_ptid = inferior_ptid; + if (non_stop) /* In non-stop mode, the user/frontend should not notice a thread switch due to internal events. Make sure we reverse to the -- 2.30.2