summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol/SymbolVendor.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2015-04-14 22:34:00 +0000
committerGreg Clayton <gclayton@apple.com>2015-04-14 22:34:00 +0000
commit50bd5a2dc6fbfba50bd5250ac28f223cf0becd1a (patch)
treeeaa9b2b3eb44e4e0a417d837fbcf94fa2db414e3 /lldb/source/Symbol/SymbolVendor.cpp
parent5560a4cfbd6c4c8632f9b7662aa9fe477bbc7374 (diff)
downloadbcm5719-llvm-50bd5a2dc6fbfba50bd5250ac28f223cf0becd1a.tar.gz
bcm5719-llvm-50bd5a2dc6fbfba50bd5250ac28f223cf0becd1a.zip
Change SymbolVendor::GetCompileUnitAtIndex() and SymbolVendor::Dump() to make sure they are thread safe.
<rdar://problem/20263111> llvm-svn: 234951
Diffstat (limited to 'lldb/source/Symbol/SymbolVendor.cpp')
-rw-r--r--lldb/source/Symbol/SymbolVendor.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/source/Symbol/SymbolVendor.cpp b/lldb/source/Symbol/SymbolVendor.cpp
index c51810008fb..6445efbb3cb 100644
--- a/lldb/source/Symbol/SymbolVendor.cpp
+++ b/lldb/source/Symbol/SymbolVendor.cpp
@@ -380,6 +380,8 @@ SymbolVendor::Dump(Stream *s)
ModuleSP module_sp(GetModule());
if (module_sp)
{
+ lldb_private::Mutex::Locker locker(module_sp->GetMutex());
+
bool show_context = false;
s->Printf("%p: ", static_cast<void*>(this));
@@ -423,6 +425,7 @@ SymbolVendor::GetCompileUnitAtIndex(size_t idx)
ModuleSP module_sp(GetModule());
if (module_sp)
{
+ lldb_private::Mutex::Locker locker(module_sp->GetMutex());
const size_t num_compile_units = GetNumCompileUnits();
if (idx < num_compile_units)
{
OpenPOWER on IntegriCloud