diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/win32/emu.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/win32/emu.cpp b/lib/win32/emu.cpp index 16c4a2ef..7ee2b5a1 100644 --- a/lib/win32/emu.cpp +++ b/lib/win32/emu.cpp @@ -44,7 +44,14 @@ int setitimer(int type, struct itimerval *timeout, void *arg) { ASSERT(gTimerInitialised); + if (ITIMER_REAL != type) + { + errno = ENOSYS; + return -1; + } + EnterCriticalSection(&gLock); + // we only need seconds for the mo! if (timeout->it_value.tv_sec == 0 && timeout->it_value.tv_usec == 0) @@ -58,6 +65,7 @@ int setitimer(int type, struct itimerval *timeout, void *arg) ourTimer.interval = timeout->it_interval.tv_sec; gTimerList.push_back(ourTimer); } + LeaveCriticalSection(&gLock); // indicate success |