diff options
Diffstat (limited to 'lldb/source/Plugins/DynamicLoader')
-rw-r--r-- | lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp index c8e9cec70c5..c42f469fea6 100644 --- a/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp +++ b/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp @@ -1057,12 +1057,14 @@ DynamicLoaderMacOSXDYLD::InitializeFromAllImageInfos () // to an equivalent version. We don't want it to stay in the target's module list or it will confuse // us, so unload it here. Target &target = m_process->GetTarget(); - ModuleList &modules = target.GetImages(); + ModuleList &target_modules = target.GetImages(); ModuleList not_loaded_modules; - size_t num_modules = modules.GetSize(); + Mutex::Locker modules_locker(target_modules.GetMutex()); + + size_t num_modules = target_modules.GetSize(); for (size_t i = 0; i < num_modules; i++) { - ModuleSP module_sp = modules.GetModuleAtIndex(i); + ModuleSP module_sp = target_modules.GetModuleAtIndexUnlocked (i); if (!module_sp->IsLoadedInTarget (&target)) { if (log) diff --git a/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp b/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp index a1d64422e60..abfbf1c9ab6 100644 --- a/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp +++ b/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp @@ -97,10 +97,12 @@ DynamicLoaderStatic::LoadAllImagesAtFileAddresses () ModuleList loaded_module_list; + Mutex::Locker mutex_locker(module_list.GetMutex()); + const size_t num_modules = module_list.GetSize(); for (uint32_t idx = 0; idx < num_modules; ++idx) { - ModuleSP module_sp (module_list.GetModuleAtIndex (idx)); + ModuleSP module_sp (module_list.GetModuleAtIndexUnlocked (idx)); if (module_sp) { bool changed = false; |