[Lldb-commits] [lldb] [NFC][lldb] Add a null check, actually use new SharedModuleList class (PR #155006)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Aug 22 11:22:04 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Augusto Noronha (augusto2112)
<details>
<summary>Changes</summary>
Add a missing null check pointed out in the previous PR review, and actually use the SharedModuleList class, which was introduced but unused.
---
Full diff: https://github.com/llvm/llvm-project/pull/155006.diff
1 Files Affected:
- (modified) lldb/source/Core/ModuleList.cpp (+8-7)
``````````diff
diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp
index bc63a41c90d17..060732f421f88 100644
--- a/lldb/source/Core/ModuleList.cpp
+++ b/lldb/source/Core/ModuleList.cpp
@@ -844,6 +844,8 @@ class SharedModuleList {
}
bool RemoveIfOrphaned(const Module *module_ptr) {
+ if (!module_ptr)
+ return false;
std::lock_guard<std::recursive_mutex> guard(GetMutex());
RemoveFromMap(*module_ptr, /*if_orphaned=*/true);
return m_list.RemoveIfOrphaned(module_ptr);
@@ -980,7 +982,7 @@ class SharedModuleList {
};
struct SharedModuleListInfo {
- ModuleList module_list;
+ SharedModuleList module_list;
ModuleListProperties module_list_properties;
};
}
@@ -998,7 +1000,7 @@ static SharedModuleListInfo &GetSharedModuleListInfo()
return *g_shared_module_list_info;
}
-static ModuleList &GetSharedModuleList() {
+static SharedModuleList &GetSharedModuleList() {
return GetSharedModuleListInfo().module_list;
}
@@ -1008,8 +1010,8 @@ ModuleListProperties &ModuleList::GetGlobalModuleListProperties() {
bool ModuleList::ModuleIsInCache(const Module *module_ptr) {
if (module_ptr) {
- ModuleList &shared_module_list = GetSharedModuleList();
- return shared_module_list.FindModule(module_ptr).get() != nullptr;
+ SharedModuleList &shared_module_list = GetSharedModuleList();
+ return shared_module_list.FindModule(*module_ptr).get() != nullptr;
}
return false;
}
@@ -1032,9 +1034,8 @@ ModuleList::GetSharedModule(const ModuleSpec &module_spec, ModuleSP &module_sp,
const FileSpecList *module_search_paths_ptr,
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
bool *did_create_ptr, bool always_create) {
- ModuleList &shared_module_list = GetSharedModuleList();
- std::lock_guard<std::recursive_mutex> guard(
- shared_module_list.m_modules_mutex);
+ SharedModuleList &shared_module_list = GetSharedModuleList();
+ std::lock_guard<std::recursive_mutex> guard(shared_module_list.GetMutex());
char path[PATH_MAX];
Status error;
``````````
</details>
https://github.com/llvm/llvm-project/pull/155006
More information about the lldb-commits
mailing list