llvm-project/lldb
Pavel Labath 998bdc5b75 Generalize child process monitoring functions
Summary:
This replaces the C-style "void *" baton of the child process monitoring functions with a more
C++-like API taking a std::function. The motivation for this was that it was very difficult to
handle the ownership of the object passed into the callback function -- each caller ended up
implementing his own way of doing it, some doing it better than others. With the new API, one can
just pass a smart pointer into the callback and all of the lifetime management will be handled
automatically.

This has enabled me to simplify the rather complicated handshake in Host::RunShellCommand. I have
left handling of MonitorDebugServerProcess (my original motivation for this change) to a separate
commit to reduce the scope of this change.

Reviewers: clayborg, zturner, emaste, krytarowski

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D20106

llvm-svn: 269205
2016-05-11 16:59:04 +00:00
..
cmake Fix standalone build on RHEL6. 2016-05-06 17:03:09 +00:00
docs test commit 2016-04-25 19:02:05 +00:00
examples Another little example use of scripted thread plans. 2016-05-03 00:14:52 +00:00
include/lldb Generalize child process monitoring functions 2016-05-11 16:59:04 +00:00
lit Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 07:14:05 +00:00
lldb.xcodeproj Import block pointers from DWARF as Clang block pointers, not as structs. 2016-05-02 21:15:31 +00:00
lldb.xcworkspace Working on getting the OSX build green 2015-05-12 02:20:27 +00:00
packages/Python/lldbsuite Xfail failing watchpoint tests on aarch64-linux 2016-05-11 13:57:20 +00:00
resources Bump the lldb version # in the xcode project files from 2016-03-15 04:36:11 +00:00
scripts Add the ability to limit "source regexp" breakpoints to a particular function 2016-04-28 01:40:57 +00:00
source Generalize child process monitoring functions 2016-05-11 16:59:04 +00:00
test Fix ResourceWarning about unclosed file in use_lldb_suite_root.py. 2016-01-15 22:22:35 +00:00
third_party/Python/module Put progress.py back, apparently this can't be deleted. 2015-12-09 21:32:28 +00:00
tools debugserver; fix -Wunused-local-typedef, -Wunused-variable warnings 2016-05-06 17:33:13 +00:00
unittests Fix SymbolFilePDBTests.cpp 2016-05-10 13:46:22 +00:00
utils Python 3: Modernize exception raising syntax. 2015-11-03 21:01:45 +00:00
www Update the website with lots of new info about building / testing. 2016-02-24 22:19:23 +00:00
.arcconfig
.clang-format Update .clang-format file to support break after return type. 2015-12-28 22:09:29 +00:00
.gitignore modify Xcode build to use cmake/ninja for internal llvm/clang 2016-01-28 07:36:44 +00:00
CMakeLists.txt Fix NetBSD build with CMake 3.5.2 2016-05-01 10:23:24 +00:00
CODE_OWNERS.txt Added myself to the CODE_OWNERS.txt list for a few subsystems. 2015-11-09 01:24:36 +00:00
INSTALL.txt Revert the patch to Test Commit Access 2015-07-06 11:26:51 +00:00
LICENSE.TXT
use_lldb_suite_root.py Preparation for turning lldbsuite into a Python package. 2015-10-27 22:33:47 +00:00