From 078a2757847dcdd50a254d973d2c9a0556e98d75 Mon Sep 17 00:00:00 2001 From: David 'Digit' Turner Date: Sat, 1 Aug 2009 00:20:17 +0200 Subject: Fix Win32 libutils to get a working SDK build. --- libs/utils/Threads.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'libs/utils/Threads.cpp') diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp index 4036c497a45b..6be372c87ea0 100644 --- a/libs/utils/Threads.cpp +++ b/libs/utils/Threads.cpp @@ -296,6 +296,19 @@ Mutex::Mutex(const char* name) // XXX: name not used for now HANDLE hMutex; + assert(sizeof(hMutex) == sizeof(mState)); + + hMutex = CreateMutex(NULL, FALSE, NULL); + mState = (void*) hMutex; +} + +Mutex::Mutex(int type, const char* name) +{ + // XXX: type and name not used for now + HANDLE hMutex; + + assert(sizeof(hMutex) == sizeof(mState)); + hMutex = CreateMutex(NULL, FALSE, NULL); mState = (void*) hMutex; } @@ -486,7 +499,11 @@ status_t Condition::wait(Mutex& mutex) status_t Condition::waitRelative(Mutex& mutex, nsecs_t reltime) { - return wait(mutex, systemTime()+reltime); + WinCondition* condState = (WinCondition*) mState; + HANDLE hMutex = (HANDLE) mutex.mState; + nsecs_t absTime = systemTime()+reltime; + + return ((WinCondition*)mState)->wait(condState, hMutex, &absTime); } /* -- cgit v1.2.3-59-g8ed1b