infrun: switch to NO_HISTORY thread
authorMarkus Metzger <markus.t.metzger@intel.com>
Mon, 7 Sep 2015 08:00:46 +0000 (10:00 +0200)
committerMarkus Metzger <markus.t.metzger@intel.com>
Fri, 18 Sep 2015 12:26:28 +0000 (14:26 +0200)
commitd1988021e345c990f4272843577529a123f8943d
treed225ad7c1289a2739c3d74d695327d437a60f60e
parenta6b5be76f94664406def040d79ac8bc4d4aa8bd0
infrun: switch to NO_HISTORY thread

A thread that runs out of its execution history is stopped.  We already set
stop_pc and call stop_waiting.  But we do not switch to the stopped thread.

In normal_stop, we call finish_thread_state_cleanup to set a thread's running
state.  In all-stop mode, we call it with minus_one_ptid; in non-stop mode, we
only call it for inferior_ptid.

If in non-stop mode normal_stop is called on behalf of a thread that is not
inferior_ptid, that other thread will still be reported as running.  If it is
actually stopped it can't be resumed again.

Record targets traditionally don't support non-stop and only resume
inferior_ptid.  So this has not been a problem, so far.

Switch to the eventing thread for NO_HISTORY events as preparation to support
non-stop for the record btrace target.

gdb/
* infrun.c (handle_inferior_event_1): Switch to the eventing thread
in the TARKET_WAITKIND_NO_HISTORY case.
gdb/ChangeLog
gdb/infrun.c
This page took 0.026142 seconds and 4 git commands to generate.