#include <mutex.h>
Public Types | |
typedef const struct MuHowS * | MuHow |
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 &)=delete | |
Mutex & | operator= (const Mutex &)=delete |
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 |
typedef const struct MuHowS* absl::Mutex::MuHow |
|
inline |
Definition at line 193 of file mutex_nonprod.cc.
|
inlineexplicit |
absl::Mutex::~Mutex | ( | ) |
Definition at line 195 of file mutex_nonprod.cc.
|
privatedelete |
void absl::Mutex::AssertHeld | ( | ) | const |
Definition at line 251 of file mutex_nonprod.cc.
void absl::Mutex::AssertNotHeld | ( | ) | const |
Definition at line 253 of file mutex_nonprod.cc.
void absl::Mutex::AssertReaderHeld | ( | ) | const |
Definition at line 252 of file mutex_nonprod.cc.
void absl::Mutex::Await | ( | const Condition & | cond | ) |
Definition at line 207 of file mutex_nonprod.cc.
|
private |
bool absl::Mutex::AwaitWithDeadline | ( | const Condition & | cond, |
absl::Time | deadline | ||
) |
Definition at line 214 of file mutex_nonprod.cc.
bool absl::Mutex::AwaitWithTimeout | ( | const Condition & | cond, |
absl::Duration | timeout | ||
) |
Definition at line 219 of file mutex_nonprod.cc.
|
private |
|
inlinestaticprivate |
void absl::Mutex::EnableDebugLog | ( | const char * | name | ) |
Definition at line 248 of file mutex_nonprod.cc.
void absl::Mutex::EnableInvariantDebugging | ( | void(*)(void *) | invariant, |
void * | arg | ||
) |
Definition at line 249 of file mutex_nonprod.cc.
|
private |
void absl::Mutex::ForgetDeadlockInfo | ( | ) |
Definition at line 250 of file mutex_nonprod.cc.
|
inlinestaticprivate |
|
static |
void absl::Mutex::Lock | ( | ) |
Definition at line 197 of file mutex_nonprod.cc.
|
private |
|
private |
void absl::Mutex::LockWhen | ( | const Condition & | cond | ) |
Definition at line 209 of file mutex_nonprod.cc.
bool absl::Mutex::LockWhenWithDeadline | ( | const Condition & | cond, |
absl::Time | deadline | ||
) |
Definition at line 224 of file mutex_nonprod.cc.
bool absl::Mutex::LockWhenWithTimeout | ( | const Condition & | cond, |
absl::Duration | timeout | ||
) |
Definition at line 229 of file mutex_nonprod.cc.
void absl::Mutex::ReaderLock | ( | ) |
Definition at line 203 of file mutex_nonprod.cc.
void absl::Mutex::ReaderLockWhen | ( | const Condition & | cond | ) |
Definition at line 234 of file mutex_nonprod.cc.
bool absl::Mutex::ReaderLockWhenWithDeadline | ( | const Condition & | cond, |
absl::Time | deadline | ||
) |
Definition at line 243 of file mutex_nonprod.cc.
bool absl::Mutex::ReaderLockWhenWithTimeout | ( | const Condition & | cond, |
absl::Duration | timeout | ||
) |
Definition at line 239 of file mutex_nonprod.cc.
bool absl::Mutex::ReaderTryLock | ( | ) |
void absl::Mutex::ReaderUnlock | ( | ) |
Definition at line 205 of file mutex_nonprod.cc.
bool absl::Mutex::TryLock | ( | ) |
Definition at line 201 of file mutex_nonprod.cc.
|
private |
void absl::Mutex::Unlock | ( | ) |
Definition at line 199 of file mutex_nonprod.cc.
|
private |
|
private |
|
inline |
|
inline |
|
inline |