reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

projects/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
  219   TraceAddEvent(thr, thr->fast_state, EventTypeUnlock, s->GetId());
  222   if (!SANITIZER_GO && (s->recursion == 0 || s->owner_tid != thr->tid)) {
  222   if (!SANITIZER_GO && (s->recursion == 0 || s->owner_tid != thr->tid)) {
  223     if (flags()->report_mutex_bugs && !s->IsFlagSet(MutexFlagBroken)) {
  224       s->SetFlags(MutexFlagBroken);
  228     rec = (flagz & MutexFlagRecursiveUnlock) ? s->recursion : 1;
  229     s->recursion -= rec;
  230     if (s->recursion == 0) {
  232       s->owner_tid = SyncVar::kInvalidTid;
  233       ReleaseStoreImpl(thr, pc, &s->clock);
  238   thr->mset.Del(s->GetId(), true);
  239   if (common_flags()->detect_deadlocks && s->recursion == 0 &&
  242     ctx->dd->MutexBeforeUnlock(&cb, &s->dd, true);
  244   u64 mid = s->GetId();
  245   s->mtx.Unlock();