summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/include/lldb/Host/HostNativeThreadBase.h1
-rw-r--r--lldb/include/lldb/Host/windows/HostThreadWindows.h1
-rw-r--r--lldb/source/Host/common/HostNativeThreadBase.cpp4
-rw-r--r--lldb/source/Host/common/HostThread.cpp2
-rw-r--r--lldb/source/Host/windows/HostThreadWindows.cpp4
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);
+}
OpenPOWER on IntegriCloud