diff mbox

[commit] infrun.c (set_last_target_status): New function.

Message ID yjt261mvkt0b.fsf@ruffy.mtv.corp.google.com
State Committed
Headers show

Commit Message

Doug Evans March 31, 2014, 2:21 a.m. UTC

While working on fixing pr 14236 I found it useful to know
where target_last_wait_ptid was set.
It's only set in one place but it's easier to see that with a setter.
Plus it's easier (for me anyway) to understand the plethora of state
variables if they're accessed through API calls (at least where
such calls feel obvious, as this one does - there is already a getter

2014-03-30  Doug Evans  <xdje42@gmail.com>

	* infrun.c (set_last_target_status): New function.
	(handle_inferior_event): Call it.
diff mbox


diff --git a/gdb/infrun.c b/gdb/infrun.c
index 8f9e820..31bb132 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2965,6 +2965,15 @@  init_thread_stepping_state (struct thread_info *tss)
   tss->step_after_step_resume_breakpoint = 0;
+/* Set the cached copy of the last ptid/waitstatus.  */
+static void
+set_last_target_status (ptid_t ptid, struct target_waitstatus status)
+  target_last_wait_ptid = ptid;
+  target_last_waitstatus = status;
 /* Return the cached copy of the last pid/waitstatus returned by
    target_wait()/deprecated_target_wait_hook().  The data is actually
    cached by handle_inferior_event(), which gets called immediately
@@ -3272,8 +3281,7 @@  handle_inferior_event (struct execution_control_state *ecs)
   /* Cache the last pid/waitstatus.  */
-  target_last_wait_ptid = ecs->ptid;
-  target_last_waitstatus = ecs->ws;
+  set_last_target_status (ecs->ptid, ecs->ws);
   /* Always clear state belonging to the previous time we stopped.  */
   stop_stack_dummy = STOP_NONE;