untested thread events implementation for win32

This commit is contained in:
Glenn Maynard
2004-11-07 22:43:39 +00:00
parent c9596b9002
commit 4de15ff3a7
3 changed files with 162 additions and 0 deletions
@@ -27,6 +27,7 @@ HANDLE Win32ThreadIdToHandle( uint64_t iID );
class MutexImpl_Win32: public MutexImpl
{
friend class EventImpl_Win32;
public:
MutexImpl_Win32( RageMutex *parent );
~MutexImpl_Win32();
@@ -39,6 +40,26 @@ private:
HANDLE mutex;
};
class EventImpl_Win32: public EventImpl
{
public:
EventImpl_Win32( MutexImpl_Win32 *pParent );
~EventImpl_Win32();
void Wait();
void Signal();
void Broadcast();
private:
MutexImpl_Win32 *m_pParent;
int m_iNumWaiting;
CRITICAL_SECTION m_iNumWaitingLock;
HANDLE m_WakeupSema;
HANDLE m_WaitersDone;
bool m_bNeedSignal;
};
class SemaImpl_Win32: public SemaImpl
{
public: