X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Fwindows%2Fos-threads.h;h=f696ff798717bc304a91ebf9cdd17ed6f52db98e;hb=90b7066f7129c01c5bd012a00677ebdc0c42ae89;hp=ff773f094cab69aca2374e9b5c30a2a0200db277;hpb=622f7c33630a30fbfdd25ca4ff97add39ebc0905;p=deb_libcec.git diff --git a/src/lib/platform/windows/os-threads.h b/src/lib/platform/windows/os-threads.h index ff773f0..f696ff7 100644 --- a/src/lib/platform/windows/os-threads.h +++ b/src/lib/platform/windows/os-threads.h @@ -31,17 +31,19 @@ * http://www.pulse-eight.net/ */ +#include + namespace PLATFORM { #define thread_t HANDLE - #define INVALID_THREAD_VALUE INVALID_HANDLE + #define INVALID_THREAD_VALUE NULL #define ThreadsWait(thread, retVal) (::WaitForSingleObject(thread, INFINITE) < 0) #define ThreadsCreate(thread, func, arg) ((thread = ::CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, arg, 0, NULL)) == NULL ? false : true) typedef CRITICAL_SECTION* mutex_t; #define MutexCreate(mutex) ::InitializeCriticalSection(mutex = new CRITICAL_SECTION) #define MutexDelete(mutex) ::DeleteCriticalSection(mutex); delete mutex - #define MutexLock(mutex) ::EnterCriticalSection(mutex) + inline bool MutexLock(mutex_t mutex) {::EnterCriticalSection(mutex); return true; } #define MutexTryLock(mutex) (::TryEnterCriticalSection(mutex) != 0) #define MutexUnlock(mutex) ::LeaveCriticalSection(mutex)