[LLVMdev] Multi-threading and mutexes in LLVM

Kostya Serebryany kcc at google.com
Mon Jun 9 02:19:34 PDT 2014


>
>
> On FreeBSD and OS X, the underlying pthread_mutex can already do deadlock
> detection, so I don't see why you'd need to add another word.  The
> PTHREAD_MUTEX_ERRORCHECK attribute has been part of POSIX since 1997, so
> I'd expect it to be supported everywhere.
>

PTHREAD_MUTEX_ERRORCHECK detects the deadlock that already happened.
tsan's deadlock detector (as well as helgrind and many other similar tools)
detects lock order inversion, i.e. a situation which may potentially lead
to a deadlock.

--kcc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140609/ca54f5c5/attachment.html>


More information about the llvm-dev mailing list