OMNI_32BIT_BASIC_LOCK
MACRO

OMNI_32BIT_BASIC_LOCK - If defined, uses 32-bit types in the omni::sync::basic_lock class.

SYNOPSIS top

#define OMNI_32BIT_BASIC_LOCK

Signifies to enable the OMNI_32BIT_BASIC_LOCK flag and utilize 32-bit types.

DESCRIPTION top

If defined, the omni::sync::basic_lock class will utilize a 32-bit intergral type for its lock counter, versus a 64-bit type.

CONSIDERATIONS top

A lock counter is kept due to the recurisve nature of locks in the library, due to this, if a lock operation is preformed more than the maximum value for the underlying lock counter type, an overflow can occur and put the lock into an undefined state. For example, if this flag is defined then the lock's counter type will be 32-bit, thus the maximum number of lock operations that can be preforemd without an unlock operation is std::numeric_limits<uint32_t>::max().

PLATFORM SPECIFIC top

No platform specific notes.

NOTES top

See the considerations for this flag.