Make sure that stop-hooks run asynchronously.
authorJim Ingham <jingham@apple.com>
Sat, 23 Feb 2019 00:13:25 +0000 (00:13 +0000)
committerJim Ingham <jingham@apple.com>
Sat, 23 Feb 2019 00:13:25 +0000 (00:13 +0000)
commitff8c7a0947663ce7515f0b8ee52b9d0fe8883bc3
treeaa2c285e2f294cc7b0620c84c9f4f726677c8a21
parent275d15ecf3476b7f884174e1c85f4894fb815bf1
Make sure that stop-hooks run asynchronously.

They aren't designed to nest recursively, so this will prevent that.
Also add a --auto-continue flag, putting "continue" in the stop hook makes
the stop hooks fight one another in multi-threaded programs.
Also allow more than one -o options so you can make more complex stop hooks w/o
having to go into the editor.

<rdar://problem/48115661>

Differential Revision: https://reviews.llvm.org/D58394

llvm-svn: 354706
12 files changed:
lldb/include/lldb/Target/Process.h
lldb/include/lldb/Target/Target.h
lldb/lit/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit
lldb/lit/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit
lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-1.lldbinit
lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-2.lldbinit
lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads.cpp
lldb/lit/ExecControl/StopHook/stop-hook-threads.test
lldb/lit/ExecControl/StopHook/stop-hook.test
lldb/source/Commands/CommandObjectTarget.cpp
lldb/source/Target/Process.cpp
lldb/source/Target/Target.cpp