SYNOPSIS top
Signifies to enable the
#define OMNI_32BIT_CONDITIONALSignifies to enable the
OMNI_32BIT_CONDITIONAL flag and utilize 32-bit types.
DESCRIPTION top
If defined, the
If defined, the
omni::sync::conditional class will utilize a 32-bit intergral type for its wait counter, versus a 64-bit type.
CONSIDERATIONS top
A wait counter is kept because a conditional type cannot be destroyed while there are active waits; due to this, if a wait operation is preformed more than the maximum value for the underlying counter type, an overflow can occur and put the conditional into an undefined state. For example, if this flag is defined then the counter type will be 32-bit, thus the maximum number of wait operations that can be preforemd without a release operation is
A wait counter is kept because a conditional type cannot be destroyed while there are active waits; due to this, if a wait operation is preformed more than the maximum value for the underlying counter type, an overflow can occur and put the conditional into an undefined state. For example, if this flag is defined then the counter type will be 32-bit, thus the maximum number of wait operations that can be preforemd without a release operation is
std::numeric_limits<uint32_t>::max().