summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/windows/HostProcessWindows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Host/windows/HostProcessWindows.cpp')
-rw-r--r--lldb/source/Host/windows/HostProcessWindows.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/lldb/source/Host/windows/HostProcessWindows.cpp b/lldb/source/Host/windows/HostProcessWindows.cpp
index c42bc555906..d8e407c667a 100644
--- a/lldb/source/Host/windows/HostProcessWindows.cpp
+++ b/lldb/source/Host/windows/HostProcessWindows.cpp
@@ -31,11 +31,13 @@ struct MonitorInfo
HostProcessWindows::HostProcessWindows()
: HostNativeProcessBase()
+ , m_owns_handle(true)
{
}
HostProcessWindows::HostProcessWindows(lldb::process_t process)
: HostNativeProcessBase(process)
+ , m_owns_handle(true)
{
}
@@ -44,6 +46,12 @@ HostProcessWindows::~HostProcessWindows()
Close();
}
+void
+HostProcessWindows::SetOwnsHandle(bool owns)
+{
+ m_owns_handle = owns;
+}
+
Error HostProcessWindows::Terminate()
{
Error error;
@@ -123,7 +131,7 @@ HostProcessWindows::MonitorThread(void *thread_arg)
void HostProcessWindows::Close()
{
- if (m_process != LLDB_INVALID_PROCESS)
+ if (m_owns_handle && m_process != LLDB_INVALID_PROCESS)
::CloseHandle(m_process);
m_process = nullptr;
}
OpenPOWER on IntegriCloud