diff options
author | Ed Maste <emaste@freebsd.org> | 2014-04-01 14:30:56 +0000 |
---|---|---|
committer | Ed Maste <emaste@freebsd.org> | 2014-04-01 14:30:56 +0000 |
commit | 70882939f1eb3505829926de28a4b2063d1d4e03 (patch) | |
tree | 3861e915c9703c23122484e3835a5929990203e0 /lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp | |
parent | 0feb91ef15f833c48a96e54ea9de594d7050dda5 (diff) | |
download | bcm5719-llvm-70882939f1eb3505829926de28a4b2063d1d4e03.tar.gz bcm5719-llvm-70882939f1eb3505829926de28a4b2063d1d4e03.zip |
Implement ProcessMonitor::Kill for FreeBSD
On FreeBSD ptrace(PT_KILL) is used to terminate the traced process
(as if PT_CONTINUE had been used with SIGKILL as the signal to be
delivered), and is the desired behaviour for ProcessPOSIX::DoDestroy.
On Linux, after ptrace(PTRACE_KILL) the traced process still exists
and can be interrogated. It is only upon resume that it exits as though
it received SIGKILL.
For now I'm committing only the FreeBSD change, until the Linux change
(review D3159) is successfully tested.
http://llvm.org/pr18894
llvm-svn: 205315
Diffstat (limited to 'lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp index ba5342efb27..c8f85821dbf 100644 --- a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp @@ -702,7 +702,7 @@ EventMessageOperation::Execute(ProcessMonitor *monitor) //------------------------------------------------------------------------------ /// @class KillOperation -/// @brief Implements ProcessMonitor::BringProcessIntoLimbo. +/// @brief Implements ProcessMonitor::Kill. class KillOperation : public Operation { public: @@ -1648,7 +1648,7 @@ ProcessMonitor::SingleStep(lldb::tid_t unused, uint32_t signo) } bool -ProcessMonitor::BringProcessIntoLimbo() +ProcessMonitor::Kill() { bool result; KillOperation op(result); |