diff options
Diffstat (limited to 'lib/tsan/rtl/tsan_rtl_mutex.cc')
| -rw-r--r-- | lib/tsan/rtl/tsan_rtl_mutex.cc | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/tsan/rtl/tsan_rtl_mutex.cc b/lib/tsan/rtl/tsan_rtl_mutex.cc index 152b965ad5351..c61d02b7a7662 100644 --- a/lib/tsan/rtl/tsan_rtl_mutex.cc +++ b/lib/tsan/rtl/tsan_rtl_mutex.cc @@ -104,7 +104,7 @@ void MutexDestroy(ThreadState *thr, uptr pc, uptr addr, u32 flagz) {      unlock_locked = true;    }    u64 mid = s->GetId(); -  u32 last_lock = s->last_lock; +  u64 last_lock = s->last_lock;    if (!unlock_locked)      s->Reset(thr->proc());  // must not reset it before the report is printed    s->mtx.Unlock(); @@ -114,7 +114,7 @@ void MutexDestroy(ThreadState *thr, uptr pc, uptr addr, u32 flagz) {      rep.AddMutex(mid);      VarSizeStackTrace trace;      ObtainCurrentStack(thr, pc, &trace); -    rep.AddStack(trace); +    rep.AddStack(trace, true);      FastState last(last_lock);      RestoreStack(last.tid(), last.epoch(), &trace, 0);      rep.AddStack(trace, true); @@ -361,7 +361,7 @@ void MutexReadOrWriteUnlock(ThreadState *thr, uptr pc, uptr addr) {      if (s->recursion == 0) {        StatInc(thr, StatMutexUnlock);        s->owner_tid = SyncVar::kInvalidTid; -      ReleaseImpl(thr, pc, &s->clock); +      ReleaseStoreImpl(thr, pc, &s->clock);      } else {        StatInc(thr, StatMutexRecUnlock);      }  | 
