#ifndef MX_SEMAPHORE_H #define MX_SEMAPHORE_H #include "mxtypes.h" #include class MxSemaphore { public: MxSemaphore(); // Inlined only, no offset ~MxSemaphore() { CloseHandle(m_hSemaphore); } virtual MxResult Init(MxU32 p_initialCount, MxU32 p_maxCount); void Wait(MxU32 p_timeoutMS); void Release(MxU32 p_releaseCount); private: HANDLE m_hSemaphore; }; #endif // MX_SEMAPHORE_H