X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=platform%2Fwin32%2Ffunctions%2Fthreads%2Fmtx_lock.c;h=f2a17419b4b982498388bfc3be2f3f1303d43a22;hp=b76c8ec5ad66d7c0efa4c3208f5894b7f918a754;hb=abc15df6b9fae3374d24c7cf5c3ab94c605b2a6d;hpb=8894c921674bb116d0a7b8f23a55311e7a768019 diff --git a/platform/win32/functions/threads/mtx_lock.c b/platform/win32/functions/threads/mtx_lock.c index b76c8ec..f2a1741 100644 --- a/platform/win32/functions/threads/mtx_lock.c +++ b/platform/win32/functions/threads/mtx_lock.c @@ -1,34 +1,34 @@ -#ifndef REGTEST -#include -#include - -int mtx_lock(mtx_t *mtx) -{ - DWORD myId = GetCurrentThreadId(); - - if(mtx->_ThreadId == (long) myId) { - mtx->_NestCount++; - return thrd_success; - } - - for(;;) { - LONG prev = InterlockedCompareExchange(&mtx->_ThreadId, myId, 0); - if(prev == 0) - return thrd_success; - - DWORD rv = WaitForSingleObject(mtx->_WaitEvHandle, INFINITE); - if(rv != WAIT_OBJECT_0) - return thrd_error; - } -} -#endif - -#ifdef TEST -#include "_PDCLIB_test.h" - -int main( void ) -{ - return TEST_RESULTS; -} - +#ifndef REGTEST +#include +#include + +int mtx_lock(mtx_t *mtx) +{ + DWORD myId = GetCurrentThreadId(); + + if(mtx->_ThreadId == (long) myId) { + mtx->_NestCount++; + return thrd_success; + } + + for(;;) { + LONG prev = InterlockedCompareExchange(&mtx->_ThreadId, myId, 0); + if(prev == 0) + return thrd_success; + + DWORD rv = WaitForSingleObject(mtx->_WaitEvHandle, INFINITE); + if(rv != WAIT_OBJECT_0) + return thrd_error; + } +} +#endif + +#ifdef TEST +#include "_PDCLIB_test.h" + +int main( void ) +{ + return TEST_RESULTS; +} + #endif \ No newline at end of file