(svn r18656) -Feature: Add event semaphore support for OS/2

pull/155/head
orudge 15 years ago
parent 1bb2e7bba5
commit 5c88f36d64

@ -94,16 +94,19 @@ private:
class ThreadMutex_OS2 : public ThreadMutex {
private:
HMTX mutex;
HEV event;
public:
ThreadMutex_OS2()
{
DosCreateMutexSem(NULL, &mutex, 0, FALSE);
DosCreateEventSem(NULL, &event, 0, FALSE);
}
/* virtual */ ~ThreadMutex_OS2()
{
DosCloseMutexSem(mutex);
DosCloseEventSem(event);
}
/* virtual */ void BeginCritical()
@ -115,6 +118,18 @@ public:
{
DosReleaseMutexSem(mutex);
}
/* virtual */ void WaitForSignal()
{
this->EndCritical();
DosWaitEventSem(event, SEM_INDEFINITE_WAIT);
this->BeginCritical();
}
/* virtual */ void SendSignal()
{
DosPostEventSem(event);
}
};
/* static */ ThreadMutex *ThreadMutex::New()

Loading…
Cancel
Save