[Lldb-commits] [lldb] [NFC][lldb][Windows] Clean up NativeProcessWindows (PR #202720)
Charles Zablit via lldb-commits
lldb-commits at lists.llvm.org
Wed Jun 10 04:08:24 PDT 2026
https://github.com/charles-zablit updated https://github.com/llvm/llvm-project/pull/202720
>From 708176e8a3cb23a798c02fb7adead111f5062953 Mon Sep 17 00:00:00 2001
From: Charles Zablit <c_zablit at apple.com>
Date: Sun, 7 Jun 2026 20:37:07 +0100
Subject: [PATCH 1/3] [NFC][lldb][Windows] Clean up NativeProcessWindows
A second pass over NativeProcessWindows after b1142bf99486:
- Fix "implemenation" typo in CacheLoadedModules.
- Simplify OnExitThread to use llvm::erase_if.
---
.../Windows/Common/NativeProcessWindows.cpp | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
index b235ab281bad6..93d1859bceeae 100644
--- a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
@@ -350,7 +350,7 @@ Status NativeProcessWindows::CacheLoadedModules() {
if (!m_loaded_modules.empty())
return Status();
- // Retrieve loaded modules by a Target/Module free implemenation.
+ // Retrieve loaded modules by a Target/Module-free implementation.
AutoHandle snapshot(CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetID()));
if (snapshot.IsValid()) {
MODULEENTRY32W me;
@@ -663,17 +663,9 @@ void NativeProcessWindows::OnCreateThread(const HostThread &new_thread) {
void NativeProcessWindows::OnExitThread(lldb::tid_t thread_id,
uint32_t exit_code) {
llvm::sys::ScopedLock lock(m_mutex);
- NativeThreadWindows *thread = GetThreadByID(thread_id);
- if (!thread)
- return;
-
- for (auto t = m_threads.begin(); t != m_threads.end();) {
- if ((*t)->GetID() == thread_id) {
- t = m_threads.erase(t);
- } else {
- ++t;
- }
- }
+ llvm::erase_if(m_threads, [thread_id](const auto &t) {
+ return t->GetID() == thread_id;
+ });
}
void NativeProcessWindows::OnLoadDll(const ModuleSpec &module_spec,
>From 78d2d71fb0c5bd4db4679d09f401e6bcab9cef4b Mon Sep 17 00:00:00 2001
From: Charles Zablit <c_zablit at apple.com>
Date: Wed, 10 Jun 2026 11:53:40 +0100
Subject: [PATCH 2/3] fixup! [NFC][lldb][Windows] Clean up NativeProcessWindows
---
.../Plugins/Process/Windows/Common/NativeProcessWindows.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
index 93d1859bceeae..f7a5bc6cf6321 100644
--- a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
@@ -662,7 +662,7 @@ void NativeProcessWindows::OnCreateThread(const HostThread &new_thread) {
void NativeProcessWindows::OnExitThread(lldb::tid_t thread_id,
uint32_t exit_code) {
- llvm::sys::ScopedLock lock(m_mutex);
+ llvm::sys::ScopedLock lock(m_threads_mutex);
llvm::erase_if(m_threads, [thread_id](const auto &t) {
return t->GetID() == thread_id;
});
>From 1ef9f955d06a29726513788f7fedce332c55812c Mon Sep 17 00:00:00 2001
From: Charles Zablit <c_zablit at apple.com>
Date: Wed, 10 Jun 2026 12:08:05 +0100
Subject: [PATCH 3/3] fixup! [NFC][lldb][Windows] Move ProcessIOHandler in
Target (#202353)
---
.../Plugins/Process/Windows/Common/NativeProcessWindows.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
index f7a5bc6cf6321..86bc67739b651 100644
--- a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
@@ -662,7 +662,7 @@ void NativeProcessWindows::OnCreateThread(const HostThread &new_thread) {
void NativeProcessWindows::OnExitThread(lldb::tid_t thread_id,
uint32_t exit_code) {
- llvm::sys::ScopedLock lock(m_threads_mutex);
+ std::lock_guard<std::recursive_mutex> guard(m_threads_mutex);
llvm::erase_if(m_threads, [thread_id](const auto &t) {
return t->GetID() == thread_id;
});
More information about the lldb-commits
mailing list