llvm-project/lldb/source/Host/macosx
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
..
cfcpp Initial checkin of a new project: LLDB Performance Testing Infrastructure 2013-03-08 20:29:13 +00:00
Host.mm Generalize child process monitoring functions 2016-05-11 16:59:04 +00:00
HostInfoMacOSX.mm Make HostThread SetName work on OS X. GetName doesn't currently work, the code that was in 2016-02-04 19:42:32 +00:00
HostThreadMacOSX.mm Create a HostThread abstraction. 2014-09-09 20:54:56 +00:00
Symbols.cpp Jim thinks we shouldn't bother to pollute the svn repo with these 2015-11-06 00:55:17 +00:00
ThisThread.cpp Make HostThread SetName work on OS X. GetName doesn't currently work, the code that was in 2016-02-04 19:42:32 +00:00