diff options
author | Zachary Turner <zturner@google.com> | 2014-09-11 22:22:16 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2014-09-11 22:22:16 +0000 |
commit | f5e4f37cb67114cde73bea8befa0187b1c32b4c5 (patch) | |
tree | 03a8f491919c25cebd7667ee5dd6b22d875a998c /lldb/source/Host/windows/HostProcessWindows.cpp | |
parent | 062c406a85a3669931da866728ec0373d88598c9 (diff) | |
download | bcm5719-llvm-f5e4f37cb67114cde73bea8befa0187b1c32b4c5.tar.gz bcm5719-llvm-f5e4f37cb67114cde73bea8befa0187b1c32b4c5.zip |
Update HostProcess to use the same facade pattern as HostThread.
llvm-svn: 217632
Diffstat (limited to 'lldb/source/Host/windows/HostProcessWindows.cpp')
-rw-r--r-- | lldb/source/Host/windows/HostProcessWindows.cpp | 53 |
1 files changed, 10 insertions, 43 deletions
diff --git a/lldb/source/Host/windows/HostProcessWindows.cpp b/lldb/source/Host/windows/HostProcessWindows.cpp index 7a1ad955e3b..bf54e587912 100644 --- a/lldb/source/Host/windows/HostProcessWindows.cpp +++ b/lldb/source/Host/windows/HostProcessWindows.cpp @@ -7,19 +7,18 @@ // //===----------------------------------------------------------------------===// +#include "lldb/Host/FileSpec.h" #include "lldb/Host/windows/windows.h" - -#include <Psapi.h> - #include "lldb/Host/windows/HostProcessWindows.h" #include "llvm/ADT/STLExtras.h" +#include <Psapi.h> + using namespace lldb_private; -HostProcessWindows::HostProcessWindows() - : m_process(NULL) - , m_pid(0) +HostProcessWindows::HostProcessWindows(lldb::process_t process) + : HostNativeProcessBase(process) { } @@ -28,41 +27,10 @@ HostProcessWindows::~HostProcessWindows() Close(); } -Error HostProcessWindows::Create(lldb::pid_t pid) -{ - Error error; - if (pid == m_pid) - return error; - Close(); - - m_process = ::OpenProcess(PROCESS_TERMINATE | PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid); - if (m_process == NULL) - { - error.SetError(::GetLastError(), lldb::eErrorTypeWin32); - return error; - } - m_pid = pid; - return error; -} - -Error HostProcessWindows::Create(lldb::process_t process) -{ - Error error; - if (process == m_process) - return error; - Close(); - - m_pid = ::GetProcessId(process); - if (m_pid == 0) - error.SetError(::GetLastError(), lldb::eErrorTypeWin32); - m_process = process; - return error; -} - Error HostProcessWindows::Terminate() { Error error; - if (m_process == NULL) + if (m_process == nullptr) error.SetError(ERROR_INVALID_HANDLE, lldb::eErrorTypeWin32); if (!::TerminateProcess(m_process, 0)) @@ -74,7 +42,7 @@ Error HostProcessWindows::Terminate() Error HostProcessWindows::GetMainModule(FileSpec &file_spec) const { Error error; - if (m_process == NULL) + if (m_process == nullptr) error.SetError(ERROR_INVALID_HANDLE, lldb::eErrorTypeWin32); char path[MAX_PATH] = { 0 }; @@ -88,12 +56,12 @@ Error HostProcessWindows::GetMainModule(FileSpec &file_spec) const lldb::pid_t HostProcessWindows::GetProcessId() const { - return m_pid; + return ::GetProcessId(m_process); } bool HostProcessWindows::IsRunning() const { - if (m_process == NULL) + if (m_process == nullptr) return false; DWORD code = 0; @@ -105,8 +73,7 @@ bool HostProcessWindows::IsRunning() const void HostProcessWindows::Close() { - if (m_process != NULL) + if (m_process != nullptr) ::CloseHandle(m_process); m_process = nullptr; - m_pid = 0; } |