summaryrefslogtreecommitdiffstats
path: root/lldb
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2014-06-16 19:44:24 +0000
committerGreg Clayton <gclayton@apple.com>2014-06-16 19:44:24 +0000
commitc72f713068764f7992ed5fba5d63d8ce2513f10b (patch)
tree0538ce8b50f05e2f24bc987b183d65b7b973517e /lldb
parentb45c3b74b4641a129a9d4e8c6b1e1d6b38a1b4a5 (diff)
downloadbcm5719-llvm-c72f713068764f7992ed5fba5d63d8ce2513f10b.tar.gz
bcm5719-llvm-c72f713068764f7992ed5fba5d63d8ce2513f10b.zip
Don't allow two threads to create/use the section list before it has been fully populated.
<rdar://problem/16937203> llvm-svn: 211043
Diffstat (limited to 'lldb')
-rw-r--r--lldb/source/Symbol/ObjectFile.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp
index 35a2ffa145b..962ae0083e8 100644
--- a/lldb/source/Symbol/ObjectFile.cpp
+++ b/lldb/source/Symbol/ObjectFile.cpp
@@ -605,7 +605,10 @@ ObjectFile::GetSectionList()
{
ModuleSP module_sp(GetModule());
if (module_sp)
+ {
+ lldb_private::Mutex::Locker locker(module_sp->GetMutex());
CreateSections(*module_sp->GetUnifiedSectionList());
+ }
}
return m_sections_ap.get();
}
OpenPOWER on IntegriCloud