diff options
-rw-r--r-- | lldb/include/lldb/Host/HostNativeThreadBase.h | 1 | ||||
-rw-r--r-- | lldb/include/lldb/Host/windows/HostThreadWindows.h | 1 | ||||
-rw-r--r-- | lldb/source/Host/common/HostNativeThreadBase.cpp | 4 | ||||
-rw-r--r-- | lldb/source/Host/common/HostThread.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Host/windows/HostThreadWindows.cpp | 4 |
5 files changed, 11 insertions, 1 deletions
diff --git a/lldb/include/lldb/Host/HostNativeThreadBase.h b/lldb/include/lldb/Host/HostNativeThreadBase.h index f1f89f3b75f..326a9c6c793 100644 --- a/lldb/include/lldb/Host/HostNativeThreadBase.h +++ b/lldb/include/lldb/Host/HostNativeThreadBase.h @@ -35,6 +35,7 @@ public: virtual Status Cancel() = 0; virtual bool IsJoinable() const; virtual void Reset(); + virtual bool EqualsThread(lldb::thread_t thread) const; lldb::thread_t Release(); lldb::thread_t GetSystemHandle() const; diff --git a/lldb/include/lldb/Host/windows/HostThreadWindows.h b/lldb/include/lldb/Host/windows/HostThreadWindows.h index 35d83c0ba2b..8d5972e88fb 100644 --- a/lldb/include/lldb/Host/windows/HostThreadWindows.h +++ b/lldb/include/lldb/Host/windows/HostThreadWindows.h @@ -29,6 +29,7 @@ public: virtual Status Join(lldb::thread_result_t *result); virtual Status Cancel(); virtual void Reset(); + virtual bool EqualsThread(lldb::thread_t thread) const; lldb::tid_t GetThreadId() const; diff --git a/lldb/source/Host/common/HostNativeThreadBase.cpp b/lldb/source/Host/common/HostNativeThreadBase.cpp index 402d3caacfc..25c8066bb1a 100644 --- a/lldb/source/Host/common/HostNativeThreadBase.cpp +++ b/lldb/source/Host/common/HostNativeThreadBase.cpp @@ -41,6 +41,10 @@ void HostNativeThreadBase::Reset() { m_result = 0; } +bool HostNativeThreadBase::EqualsThread(lldb::thread_t thread) const { + return m_thread == thread; +} + lldb::thread_t HostNativeThreadBase::Release() { lldb::thread_t result = m_thread; m_thread = LLDB_INVALID_HOST_THREAD; diff --git a/lldb/source/Host/common/HostThread.cpp b/lldb/source/Host/common/HostThread.cpp index 02882c52390..2bf6f0a933d 100644 --- a/lldb/source/Host/common/HostThread.cpp +++ b/lldb/source/Host/common/HostThread.cpp @@ -43,5 +43,5 @@ lldb::thread_result_t HostThread::GetResult() const { } bool HostThread::EqualsThread(lldb::thread_t thread) const { - return m_native_thread->GetSystemHandle() == thread; + return m_native_thread->EqualsThread(thread); } diff --git a/lldb/source/Host/windows/HostThreadWindows.cpp b/lldb/source/Host/windows/HostThreadWindows.cpp index 3d603ff6166..b516230e7fa 100644 --- a/lldb/source/Host/windows/HostThreadWindows.cpp +++ b/lldb/source/Host/windows/HostThreadWindows.cpp @@ -69,3 +69,7 @@ void HostThreadWindows::Reset() { HostNativeThreadBase::Reset(); } + +bool HostThreadWindows::EqualsThread(lldb::thread_t thread) const { + return GetThreadId() == ::GetThreadId(thread); +} |