Public Types |
| typedef struct MuHowS * | MuHow |
Public Member Functions |
| void | AssertHeld () const ASSERT_EXCLUSIVE_LOCK() |
| void | AssertNotHeld () const |
| void | AssertReaderHeld () const ASSERT_SHARED_LOCK() |
| void | Await (const Condition &cond) |
| bool | AwaitWithDeadline (const Condition &cond, absl::Time deadline) |
| bool | AwaitWithTimeout (const Condition &cond, absl::Duration timeout) |
| void | EnableDebugLog (const char *name) |
| void | EnableInvariantDebugging (void(*invariant)(void *), void *arg) |
| void | ForgetDeadlockInfo () |
| void | Lock () EXCLUSIVE_LOCK_FUNCTION() |
| void | LockWhen (const Condition &cond) EXCLUSIVE_LOCK_FUNCTION() |
| bool | LockWhenWithDeadline (const Condition &cond, absl::Time deadline) EXCLUSIVE_LOCK_FUNCTION() |
| bool | LockWhenWithTimeout (const Condition &cond, absl::Duration timeout) EXCLUSIVE_LOCK_FUNCTION() |
| | Mutex () |
| constexpr | Mutex (absl::ConstInitType) |
| void | ReaderLock () SHARED_LOCK_FUNCTION() |
| void | ReaderLockWhen (const Condition &cond) SHARED_LOCK_FUNCTION() |
| bool | ReaderLockWhenWithDeadline (const Condition &cond, absl::Time deadline) SHARED_LOCK_FUNCTION() |
| bool | ReaderLockWhenWithTimeout (const Condition &cond, absl::Duration timeout) SHARED_LOCK_FUNCTION() |
| bool | ReaderTryLock () SHARED_TRYLOCK_FUNCTION(true) |
| void | ReaderUnlock () UNLOCK_FUNCTION() |
| bool | TryLock () EXCLUSIVE_TRYLOCK_FUNCTION(true) |
| void | Unlock () UNLOCK_FUNCTION() |
| void | WriterLock () EXCLUSIVE_LOCK_FUNCTION() |
| void | WriterLockWhen (const Condition &cond) EXCLUSIVE_LOCK_FUNCTION() |
| bool | WriterLockWhenWithDeadline (const Condition &cond, absl::Time deadline) EXCLUSIVE_LOCK_FUNCTION() |
| bool | WriterLockWhenWithTimeout (const Condition &cond, absl::Duration timeout) EXCLUSIVE_LOCK_FUNCTION() |
| bool | WriterTryLock () EXCLUSIVE_TRYLOCK_FUNCTION(true) |
| void | WriterUnlock () UNLOCK_FUNCTION() |
| | ~Mutex () |
Static Public Member Functions |
| static void | InternalAttemptToUseMutexInFatalSignalHandler () |
Private Member Functions |
| bool | AwaitCommon (const Condition &cond, synchronization_internal::KernelTimeout t) |
| void | Block (base_internal::PerThreadSynch *s) |
| void | Fer (base_internal::PerThreadSynch *w) |
| void | LockSlow (MuHow how, const Condition *cond, int flags) ABSL_ATTRIBUTE_COLD |
| void | LockSlowLoop (SynchWaitParams *waitp, int flags) |
| bool | LockSlowWithDeadline (MuHow how, const Condition *cond, synchronization_internal::KernelTimeout t, int flags) |
| | Mutex (const volatile Mutex *) |
| | Mutex (const Mutex &) |
| Mutex & | operator= (const Mutex &) |
| void | Trans (MuHow how) |
| void | TryRemove (base_internal::PerThreadSynch *s) |
| void | UnlockSlow (SynchWaitParams *waitp) ABSL_ATTRIBUTE_COLD |
| base_internal::PerThreadSynch * | Wakeup (base_internal::PerThreadSynch *w) |
Static Private Member Functions |
| static bool | DecrementSynchSem (Mutex *mu, base_internal::PerThreadSynch *w, synchronization_internal::KernelTimeout t) |
| static void | IncrementSynchSem (Mutex *mu, base_internal::PerThreadSynch *w) |
Private Attributes |
| std::atomic< intptr_t > | mu_ |
Friends |
| class | CondVar |
Definition at line 138 of file mutex.h.