ARC SDK
|
Mutex which allows shared and exclusive locking. More...
#include <arc/Thread.h>
Public Member Functions | |
void | lockShared (void) |
Acquire a shared lock. Blocks until exclusive lock is released. More... | |
void | unlockShared (void) |
Release a shared lock. More... | |
bool | isLockShared (void) |
Returns true if at least one shared lock is held. More... | |
void | lockExclusive (void) |
Acquire an exclusive lock. Blocks until all shared and exclusive locks are released. More... | |
void | unlockExclusive (void) |
Release exclusive lock. More... | |
bool | isLockExclusive (void) |
Returns true if the exclusive lock is held. More... | |
void | forceReset (void) |
This method is meant to be used only after fork. More... | |
Mutex which allows shared and exclusive locking.
|
inline |
This method is meant to be used only after fork.
It resets state of all internal locks and variables.
|
inline |
Returns true if the exclusive lock is held.
|
inline |
Returns true if at least one shared lock is held.
void Arc::SharedMutex::lockExclusive | ( | void | ) |
Acquire an exclusive lock. Blocks until all shared and exclusive locks are released.
void Arc::SharedMutex::lockShared | ( | void | ) |
Acquire a shared lock. Blocks until exclusive lock is released.
void Arc::SharedMutex::unlockExclusive | ( | void | ) |
Release exclusive lock.
void Arc::SharedMutex::unlockShared | ( | void | ) |
Release a shared lock.