[lld] r209271 - [PECOFF] Make COFFObjectReader thread-safe.

Rui Ueyama ruiu at google.com
Tue May 20 21:17:06 PDT 2014


Author: ruiu
Date: Tue May 20 23:17:05 2014
New Revision: 209271

URL: http://llvm.org/viewvc/llvm-project?rev=209271&view=rev
Log:
[PECOFF] Make COFFObjectReader thread-safe.

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=209271&r1=209270&r2=209271&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Tue May 20 23:17:05 2014
@@ -33,6 +33,7 @@
 
 #include <algorithm>
 #include <map>
+#include <mutex>
 #include <set>
 #include <vector>
 
@@ -179,6 +180,7 @@ class BumpPtrStringSaver : public llvm::
 public:
   const char *SaveString(const char *str) override {
     size_t len = strlen(str);
+    std::lock_guard<std::mutex> lock(_allocMutex);
     char *copy = _alloc.Allocate<char>(len + 1);
     memcpy(copy, str, len + 1);
     return copy;
@@ -186,6 +188,7 @@ public:
 
 private:
   llvm::BumpPtrAllocator _alloc;
+  std::mutex _allocMutex;
 };
 
 // Converts the COFF symbol attribute to the LLD's atom attribute.





More information about the llvm-commits mailing list