mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-30 03:15:34 -05:00
27 lines
419 B
C
27 lines
419 B
C
|
#ifndef MX_SEMAPHORE_H
|
||
|
#define MX_SEMAPHORE_H
|
||
|
|
||
|
#include "mxtypes.h"
|
||
|
#include <windows.h>
|
||
|
|
||
|
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
|