diff options
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp | 32 | ||||
| -rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessMonitor.h | 6 | ||||
| -rw-r--r-- | lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp | 4 |
3 files changed, 4 insertions, 38 deletions
diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp index 3dec6de7247..198a1eb595c 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp @@ -904,31 +904,6 @@ EventMessageOperation::Execute(ProcessMonitor *monitor) } //------------------------------------------------------------------------------ -/// @class KillOperation -/// @brief Implements ProcessMonitor::BringProcessIntoLimbo. -class KillOperation : public Operation -{ -public: - KillOperation(bool &result) : m_result(result) { } - - void Execute(ProcessMonitor *monitor); - -private: - bool &m_result; -}; - -void -KillOperation::Execute(ProcessMonitor *monitor) -{ - lldb::pid_t pid = monitor->GetPID(); - - if (PTRACE(PTRACE_KILL, pid, NULL, NULL, 0)) - m_result = false; - else - m_result = true; -} - -//------------------------------------------------------------------------------ /// @class DetachOperation /// @brief Implements ProcessMonitor::Detach. class DetachOperation : public Operation @@ -2229,12 +2204,9 @@ ProcessMonitor::SingleStep(lldb::tid_t tid, uint32_t signo) } bool -ProcessMonitor::BringProcessIntoLimbo() +ProcessMonitor::Kill() { - bool result; - KillOperation op(result); - DoOperation(&op); - return result; + return kill(GetPID(), SIGKILL) == 0; } bool diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.h b/lldb/source/Plugins/Process/Linux/ProcessMonitor.h index a087140f407..3e289ff1337 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.h +++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.h @@ -172,11 +172,9 @@ public: bool SingleStep(lldb::tid_t tid, uint32_t signo); - /// Sends the inferior process a PTRACE_KILL signal. The inferior will - /// still exists and can be interrogated. Once resumed it will exit as - /// though it received a SIGKILL. + /// Terminate the traced process. bool - BringProcessIntoLimbo(); + Kill(); lldb_private::Error Detach(lldb::tid_t tid); diff --git a/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp b/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp index 571818134d4..47e11353714 100644 --- a/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp +++ b/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp @@ -339,11 +339,7 @@ ProcessPOSIX::DoDestroy() { assert(m_monitor); m_exit_now = true; -#ifdef __linux__ - if ((m_monitor == NULL || kill(m_monitor->GetPID(), SIGKILL)) && error.Success()) -#else if (!m_monitor->Kill()) -#endif { error.SetErrorToErrno(); return error; |

