HDK
|
#include <spinRWMutex.h>
Public Member Functions | |
ScopedLock (TfSpinRWMutex &m, bool write=true) | |
ScopedLock () | |
Construct a scoped lock not associated with a mutex . More... | |
~ScopedLock () | |
void | Acquire (TfSpinRWMutex &m, bool write=true) |
void | Acquire (bool write=true) |
void | Release () |
void | AcquireRead () |
void | AcquireWrite () |
bool | UpgradeToWriter () |
bool | DowngradeToReader () |
Static Public Attributes | |
static constexpr int | NotAcquired = 0 |
static constexpr int | ReadAcquired = 1 |
static constexpr int | WriteAcquired = 2 |
Scoped lock utility class. API modeled roughly after tbb::spin_rw_mutex::scoped_lock.
Definition at line 62 of file spinRWMutex.h.
|
inlineexplicit |
Construct a scoped lock for mutex m
and acquire either a read or a write lock depending on write
.
Definition at line 71 of file spinRWMutex.h.
|
inline |
Construct a scoped lock not associated with a mutex
.
Definition at line 78 of file spinRWMutex.h.
|
inline |
If this scoped lock is acquired for either read or write, Release() it.
Definition at line 82 of file spinRWMutex.h.
|
inline |
If the current scoped lock is acquired, Release() it, then associate this lock with m
and acquire either a read or a write lock, depending on write
.
Definition at line 89 of file spinRWMutex.h.
|
inline |
Acquire either a read or write lock on this lock's associated mutex depending on write
. This lock must be associated with a mutex (typically by construction or by a call to Acquire() that takes a mutex). This lock must not already be acquired when calling Acquire().
Definition at line 100 of file spinRWMutex.h.
|
inline |
Acquire a read lock on this lock's associated mutex. This lock must not already be acquired when calling AcquireRead()
.
Definition at line 127 of file spinRWMutex.h.
|
inline |
Acquire a write lock on this lock's associated mutex. This lock must not already be acquired when calling AcquireWrite()
.
Definition at line 135 of file spinRWMutex.h.
|
inline |
Change this lock's acquisition state from a write lock to a read lock. This lock must already be acquired for writing. Return true if the downgrade occurred without releasing the write in the interim, false if it was released and other writers may have intervened.
Definition at line 156 of file spinRWMutex.h.
|
inline |
Release the currently required lock on the associated mutex. If this lock is not currently acquired, silently do nothing.
Definition at line 111 of file spinRWMutex.h.
|
inline |
Change this lock's acquisition state from a read lock to a write lock. This lock must already be acquired for reading. Return true if the upgrade occurred without releasing the read lock, false if it was released.
Definition at line 145 of file spinRWMutex.h.
|
static |
Definition at line 65 of file spinRWMutex.h.
|
static |
Definition at line 66 of file spinRWMutex.h.
|
static |
Definition at line 67 of file spinRWMutex.h.