<div dir="auto"><div>Ugh, I made a mistake at last minute. I'll fix it in 15 minutes (I'm not in front of a computer now), but feel free to revert it yourself. I'm sorry about this mistake.<br><div class="gmail_extra"><br><div class="gmail_quote">On Jun 19, 2017 10:57 AM, "Davide Italiano" <<a href="mailto:davide@freebsd.org">davide@freebsd.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="elided-text">On Mon, Jun 19, 2017 at 10:47 AM, Rui Ueyama via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: ruiu<br>
> Date: Mon Jun 19 12:47:04 2017<br>
> New Revision: 305718<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=305718&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=305718&view=rev</a><br>
> Log:<br>
> Fix a threading bug.<br>
><br>
> Modified:<br>
>     lld/trunk/COFF/Strings.cpp<br>
><br>
> Modified: lld/trunk/COFF/Strings.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Strings.cpp?rev=305718&r1=305717&r2=305718&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/lld/trunk/COFF/<wbr>Strings.cpp?rev=305718&r1=<wbr>305717&r2=305718&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- lld/trunk/COFF/Strings.cpp (original)<br>
> +++ lld/trunk/COFF/Strings.cpp Mon Jun 19 12:47:04 2017<br>
> @@ -8,6 +8,7 @@<br>
>  //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
><br>
>  #include "Strings.h"<br>
> +#include <mutex><br>
><br>
>  #if defined(_MSC_VER)<br>
>  #include <Windows.h><br>
> @@ -21,6 +22,10 @@ using namespace llvm;<br>
><br>
>  Optional<std::string> coff::demangle(StringRef S) {<br>
>  #if defined(_MSC_VER)<br>
> +  // UnDecorateSymbolName is not thread-safe, so we need a mutex.<br>
> +  static std::mutex Mu;<br>
> +  std::lock_guard<std::mutex> Lock(mu);<br>
> +<br>
<br>
</div>I may be wrong here, but how this works? [case-insensitiveness, maybe]<br>
You have `mu` and `Mu`.<br>
<font color="#888888"><br>
--<br>
Davide<br>
<br>
"There are no solved problems; there are only problems that are more<br>
or less solved" -- Henri Poincare<br>
</font></blockquote></div><br></div></div></div>