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
  168   s->UpdateFlags(flagz);
  170   TraceAddEvent(thr, thr->fast_state, EventTypeLock, s->GetId());
  172   if (s->owner_tid == SyncVar::kInvalidTid) {
  173     CHECK_EQ(s->recursion, 0);
  174     s->owner_tid = thr->tid;
  175     s->last_lock = thr->fast_state.raw();
  176   } else if (s->owner_tid == thr->tid) {
  177     CHECK_GT(s->recursion, 0);
  178   } else if (flags()->report_mutex_bugs && !s->IsFlagSet(MutexFlagBroken)) {
  179     s->SetFlags(MutexFlagBroken);
  182   const bool first = s->recursion == 0;
  183   s->recursion += rec;
  186     AcquireImpl(thr, pc, &s->clock);
  187     AcquireImpl(thr, pc, &s->read_clock);
  188   } else if (!s->IsFlagSet(MutexFlagWriteReentrant)) {
  191   thr->mset.Add(s->GetId(), true, thr->fast_state.epoch());
  198       ctx->dd->MutexBeforeLock(&cb, &s->dd, true);
  199     ctx->dd->MutexAfterLock(&cb, &s->dd, true, flagz & MutexFlagTryLock);
  201   u64 mid = s->GetId();
  202   s->mtx.Unlock();
  204   s = 0;