projects
/
platform
/
upstream
/
llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
80fb253
)
tsan: fix mutex in Go mode
author
Dmitry Vyukov
<dvyukov@google.com>
Fri, 6 Jun 2014 18:04:05 +0000
(18:04 +0000)
committer
Dmitry Vyukov
<dvyukov@google.com>
Fri, 6 Jun 2014 18:04:05 +0000
(18:04 +0000)
In Go it's legal to unlock from a different goroutine.
llvm-svn: 210358
compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc
patch
|
blob
|
history
diff --git
a/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc
b/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc
index
efb41f5
..
4522791
100644
(file)
--- a/
compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc
+++ b/
compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc
@@
-198,7
+198,7
@@
int MutexUnlock(ThreadState *thr, uptr pc, uptr addr, bool all) {
TraceAddEvent(thr, thr->fast_state, EventTypeUnlock, s->GetId());
int rec = 0;
bool report_bad_unlock = false;
- if (
s->recursion == 0 || s->owner_tid != thr->tid
) {
+ if (
kCppMode && (s->recursion == 0 || s->owner_tid != thr->tid)
) {
if (flags()->report_mutex_bugs && !s->is_broken) {
s->is_broken = true;
report_bad_unlock = true;