31 handle=CreateMutex(
NULL,
false,name);
46bool MutexClass::Lock(
int time)
52 int res = WaitForSingleObject(handle,time==
WAIT_INFINITE ? INFINITE : time);
53 if (res!=WAIT_OBJECT_0)
return false;
59void MutexClass::Unlock()
66 int res=ReleaseMutex(handle);
76 failed=!mutex.Lock(time);
81 if (!failed) mutex.Unlock();
98 InitializeCriticalSection((CRITICAL_SECTION*)handle);
108 DeleteCriticalSection((CRITICAL_SECTION*)handle);
113void CriticalSectionClass::Lock()
118 EnterCriticalSection((CRITICAL_SECTION*)handle);
123void CriticalSectionClass::Unlock()
130 LeaveCriticalSection((CRITICAL_SECTION*)handle);
138 CriticalSection.Lock();
143 CriticalSection.Unlock();
LockClass(CriticalSectionClass &c)
LockClass(MutexClass &m, int time=MutexClass::WAIT_INFINITE)
MutexClass(const char *name=NULL)