old-cross-binutils/gdb/doc
Markus Metzger f2665db5f2 infrun: scheduler-locking replay
Record targets behave as if scheduler-locking were on in replay mode.  Add a
new scheduler-locking option "replay" to make this implicit behaviour explicit.
It behaves like "on" in replay mode and like "off" in record mode.

By making the current behaviour a scheduler-locking option, we allow the user
to change it.  Since it is the current behaviour, this new option is also
the new default.

One caveat is that when resuming a thread that is at the end of its execution
history, record btrace implicitly stops replaying other threads and resumes
the entire process.  This is a convenience feature to not require the user
to explicitly move all other threads to the end of their execution histories
before being able to resume the process.

We mimick this behaviour with scheduler-locking replay and move it from
record-btrace into infrun.  With all-stop on top of non-stop, we can't do
this in record-btrace anymore.

Record full does not really support multi-threading and is therefore not
impacted.  If it were extended to support multi-threading, it would 'benefit'
from this change.  The good thing is that all record targets will behave the
same with respect to scheduler-locking.

I put the code for this into clear_proceed_status.  It also sends the
about_to_proceed notification.

gdb/
	* NEWS: Announce new scheduler-locking mode.
	* infrun.c (schedlock_replay): New.
	(scheduler_enums): Add schedlock_replay.
	(scheduler_mode): Change default to schedlock_replay.
	(user_visible_resume_ptid): Handle schedlock_replay.
	(clear_proceed_status_thread): Stop replaying if resumed thread is
	not replaying.
	(schedlock_applies): Handle schedlock_replay.
	(_initialize_infrun): Document new scheduler-locking mode.
	* record-btrace.c (record_btrace_resume): Remove code to stop other
	threads when not replaying the resumed thread.

doc/
	* gdb.texinfo (All-Stop Mode): Describe new scheduler-locking mode.
2015-09-18 14:32:00 +02:00
..
a4rc.sed
agentexpr.texi [gdb/ax] small "setv" fix and documentation's adjustment. 2015-02-19 19:04:16 +04:00
all-cfg.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
annotate.texinfo Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
ChangeLog infrun: scheduler-locking replay 2015-09-18 14:32:00 +02:00
doxy-index.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-base.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-gdb-api.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-gdb-xref.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
Doxyfile-gdbserver.in Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
fdl.texi
filter-for-doxygen Add Doxygen support to GDB 2014-02-10 19:10:34 -08:00
filter-params.pl Add Doxygen support to GDB 2014-02-10 19:10:34 -08:00
gdb.texinfo infrun: scheduler-locking replay 2015-09-18 14:32:00 +02:00
gpl.texi
guile.texi Add support for unbuffered and zero sized Guile ports. 2015-05-16 12:14:26 -07:00
lpsrc.sed
Makefile.in Makefile.in (STABS_DOC_BUILD_INCLUDES): Add gdb-cfg.texi, GDBvn.texi. 2015-07-20 09:21:51 -07:00
observer.texi Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
psrc.sed
python.texi Clarify doc about memory read/write and non-8-bits addressable memory unit sizes 2015-06-15 15:31:00 -04:00
refcard.tex Update year range in copyright notice of all files owned by the GDB project. 2015-01-01 13:32:14 +04:00
stabs.texinfo stabs.texinfo: @include gdb-cfg.texi. 2015-07-16 09:48:03 -07:00
stack_frame.eps
stack_frame.pdf
stack_frame.png
stack_frame.svg
stack_frame.txt