Stop process monitor from ProcessPOSIX::Finalize
llvm-svn: 186039
diff --git a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
index d8f3f22..5df8d82 100644
--- a/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
+++ b/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h
@@ -190,6 +190,8 @@
lldb_private::Error
Detach(lldb::tid_t tid);
+ void
+ StopMonitor();
private:
ProcessFreeBSD *m_process;
@@ -309,9 +311,6 @@
void
StopMonitoringChildProcess();
- void
- StopMonitor();
-
/// Stops the operation thread used to attach/launch a process.
void
StopOpThread();
diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.h b/lldb/source/Plugins/Process/Linux/ProcessMonitor.h
index dfb4601..2de6bc0 100644
--- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.h
+++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.h
@@ -177,6 +177,10 @@
lldb_private::Error
Detach(lldb::tid_t tid);
+ /// Stops the monitoring the child process thread.
+ void
+ StopMonitor();
+
/// Stops the requested thread and waits for the stop signal.
bool
StopThread(lldb::tid_t tid);
@@ -302,9 +306,6 @@
void
StopMonitoringChildProcess();
- void
- StopMonitor();
-
/// Stops the operation thread used to attach/launch a process.
void
StopOpThread();
diff --git a/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp b/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
index d55609a..ba6879c 100644
--- a/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
+++ b/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.cpp
@@ -93,6 +93,14 @@
//------------------------------------------------------------------------------
// Process protocol.
+void
+ProcessPOSIX::Finalize()
+{
+ Process::Finalize();
+
+ if (m_monitor)
+ m_monitor->StopMonitor();
+}
bool
ProcessPOSIX::CanDebug(Target &target, bool plugin_specified_by_name)
diff --git a/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h b/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
index a865fe2..fd029ef 100644
--- a/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
+++ b/lldb/source/Plugins/Process/POSIX/ProcessPOSIX.h
@@ -40,6 +40,9 @@
//------------------------------------------------------------------
// Process protocol.
//------------------------------------------------------------------
+ virtual void
+ Finalize();
+
virtual bool
CanDebug(lldb_private::Target &target, bool plugin_specified_by_name);