From: Devang Patel Date: Wed, 9 Sep 2009 17:44:26 +0000 (+0000) Subject: Take lock before removing a node from MDNodeSet. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=88cfd964a3341ad7c89dd5e176f24db1fef6f287;p=oota-llvm.git Take lock before removing a node from MDNodeSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81356 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp index 8e025b6d7a2..1163b4709ce 100644 --- a/lib/VMCore/Metadata.cpp +++ b/lib/VMCore/Metadata.cpp @@ -115,7 +115,11 @@ void MDNode::dropAllReferences() { } MDNode::~MDNode() { - getType()->getContext().pImpl->MDNodeSet.RemoveNode(this); + { + LLVMContextImpl *pImpl = getType()->getContext().pImpl; + sys::SmartScopedWriter Writer(pImpl->ConstantsLock); + pImpl->MDNodeSet.RemoveNode(this); + } dropAllReferences(); }