#include "p99_try.h"
#include "p99_tss.h"
Go to the source code of this file.
|
#define | call_once p99_call_once |
|
#define | ONCE_FLAG_INIT P99_ONCE_FLAG_INIT |
|
#define | p99_call_once(FLAG, FUNC, ARG) |
| Call a function FUNC exactly once, optionally providing it with argument ARG. More...
|
|
#define | P99_DECLARE_INIT_ONCE(T, NAME, ARG) |
|
#define | P99_DECLARE_ONCE_CHAIN(T) extern p99_once_flag P99_PASTE3(p99_, T, _once) |
| Declare the symbols that are needed for the macro P99_INIT_CHAIN(). More...
|
|
#define | P99_DEFINE_ONCE_CHAIN(T, ...) |
| Define a function that will be called exactly once by P99_INIT_CHAIN(T) . More...
|
|
#define | P99_INIT_CHAIN(T) p99_call_once(&P99_PASTE3(p99_, T, _once), P99_PASTE3(p99_, T, _once).p00_init) |
| Ensure that the function that was defined with P99_DEFINE_ONCE_CHAIN has been called exactly once before proceeding. More...
|
|
#define | P99_INIT_ONCE(NAME, VARP) P99_PASTE3(p00_, NAME, _init_once)(VARP) |
|
#define | P99_MUTUAL_EXCLUDE(MUT) P00_MUTUAL_EXCLUDE(MUT, P99_UNIQ(mut)) |
| Protect the following block or statement with mtx_t MUT. More...
|
|
#define | THRD2STR(ID) thrd2str((char[1 + sizeof(thrd_t) * 2]){0}, (ID)) |
|
#define P99_PASTE3(_1, _2, _3)