From ee1e2d4fb692736c754b42b69eb88c1f436c5f15 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 5 Feb 2014 16:08:59 -0800 Subject: [PATCH] Keep current_inferior in sync with event_child. * linux-low.c (linux_wait_for_event): Improve comment. (linux_wait_1): Keep current_inferior in sync with event_child. --- gdb/gdbserver/ChangeLog | 5 +++++ gdb/gdbserver/linux-low.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 2e53986c18..53c2acceec 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2014-02-05 Doug Evans + + * linux-low.c (linux_wait_for_event): Improve comment. + (linux_wait_1): Keep current_inferior in sync with event_child. + 2014-01-22 Doug Evans * gdbthread.h (gdb_id_to_thread): Delete, unused. diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index bac6134d05..c72d681258 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -1756,7 +1756,7 @@ ptid_t step_over_bkpt; child. Store the stop status through the status pointer WSTAT. OPTIONS is passed to the waitpid call. Return 0 if no child stop event was found and OPTIONS contains WNOHANG. Return the PID of - the stopped child otherwise. */ + the stopped child and update current_inferior otherwise. */ static int linux_wait_for_event (ptid_t ptid, int *wstat, int options) @@ -2681,6 +2681,9 @@ retry: select_event_lwp (&event_child); + /* current_inferior and event_child must stay in sync. */ + current_inferior = get_lwp_thread (event_child); + event_child->status_pending_p = 0; w = event_child->status_pending; } -- 2.34.1