diff options
Diffstat (limited to 'compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc')
-rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc b/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc index 258d203f50b..0f8104313d4 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "tsan_rtl.h" +#include "tsan_flags.h" #include "tsan_sync.h" #include "tsan_report.h" #include "tsan_symbolize.h" @@ -43,7 +44,9 @@ void MutexDestroy(ThreadState *thr, uptr pc, uptr addr) { return; if (!s->is_linker_init) { MemoryWrite1Byte(thr, pc, addr); - if (s->owner_tid != SyncVar::kInvalidTid && !s->is_broken) { + if (flags()->report_destroy_locked + && s->owner_tid != SyncVar::kInvalidTid + && !s->is_broken) { s->is_broken = true; ScopedReport rep(ReportTypeMutexDestroyLocked); rep.AddMutex(s); |