#include <pthread.h>
Include dependency graph for fast_mutex.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
class | fast_mutex |
Class for non-reentrant fast mutexes. More... | |
class | fast_mutex_autolock |
An acquistion-on-initialization lock class based on fast_mutex. More... | |
Defines | |
#define | _FAST_MUTEX_CHECK_INITIALIZATION 1 |
Macro to control whether to check for initialization status for each lock/unlock operation. | |
#define | _FAST_MUTEX_ASSERT(_Expr, _Msg) ((void)0) |
Macro for fast_mutex assertions. | |
#define | __VOLATILE volatile |
Macro alias to `volatile' semantics. |
#define __VOLATILE volatile |
Macro alias to `volatile' semantics.
Here it is truly volatile since it is in a multi-threaded (POSIX threads) environment.
#define _FAST_MUTEX_ASSERT | ( | _Expr, | |||
_Msg | ) | ((void)0) |
Macro for fast_mutex assertions.
Fake version (for release mode).
#define _FAST_MUTEX_CHECK_INITIALIZATION 1 |
Macro to control whether to check for initialization status for each lock/unlock operation.
Defining it to a non-zero value will enable the check, so that the construction/destruction of a static object using a static fast_mutex not yet constructed or already destroyed will work (with lock/unlock operations ignored). Defining it to zero will disable to check.