Implements a lightweight wrapper for Windows semaphores, allowing safe synchronization between thread...
virtual MxResult Init(MxU32 p_initialCount, MxU32 p_maxCount)
Initializes the semaphore with both initial and maximum counts.
~MxSemaphore()
Destructor, closes the semaphore handle if open.
MxSemaphore()
Constructs the MxSemaphore object; initializes internal handle to NULL.
void Release(MxU32 p_releaseCount)
Increases the semaphore count, unblocking waiting threads if any.
void Wait(MxU32 p_timeoutMS)
Waits on the semaphore for the specified timeout (in milliseconds).