75void _cvarInit(_Out_
CondVar* cv, uint32 flags);
84#define cvarInit(cv, ...) _cvarInit(cv, opt_flags(__VA_ARGS__))
CONDVAR_Flags
Condition variable initialization flags.
_Requires_lock_held_ m bool cvarWaitTimeout(CondVar *cv, Mutex *m, int64 timeout)
void cvarDestroy(CondVar *cv)
bool cvarBroadcast(CondVar *cv)
bool cvarSignal(CondVar *cv)
_Requires_lock_held_ m bool cvarWait(CondVar *cv, Mutex *m)
@ CONDVAR_NoSpin
Disable adaptive spinning, use kernel futex immediately.
#define timeForever
Maximum representable time value (approximately year 294,276 CE)
Mutex synchronization primitive.
AdaptiveSpin aspin
Adaptive spin state.
Futex seq
Futex used to sequence and wake waiters.
atomic(uint32) lastseq
Sequence number observed by the most recent waiter.