The scoped locking pattern. More...
#include <recursive_mutex.h>
Public Member Functions | |
scoped_lock () | |
Construct lock that has not acquired a recursive_mutex. | |
scoped_lock (recursive_mutex &mutex) | |
Acquire lock on given mutex. | |
~scoped_lock () | |
Release lock (if lock is held). | |
void | acquire (recursive_mutex &mutex) |
Acquire lock on given mutex. | |
bool | try_acquire (recursive_mutex &mutex) |
Try acquire lock on given recursive_mutex. | |
void | release () |
Release lock. | |
Friends | |
class | recursive_mutex |
The scoped locking pattern.
It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.