From 99d5954a88f95e093df6337d675b56e9da2d4f96 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 8 May 2003 20:46:31 +0000 Subject: [PATCH] Create sem_reset() macro (NOT POSIX). --- src/xpdev/semwrap.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/xpdev/semwrap.h b/src/xpdev/semwrap.h index a88f47a87a..3e506c5727 100644 --- a/src/xpdev/semwrap.h +++ b/src/xpdev/semwrap.h @@ -61,6 +61,7 @@ extern "C" { #include <semaphore.h> /* POSIX semaphores */ #endif + /* NOT POSIX */ int sem_trywait_block(sem_t *sem, unsigned long timeout); #elif defined(_WIN32) @@ -78,6 +79,7 @@ extern "C" { #define sem_destroy(psem) CloseHandle(*(psem)) /* No Win32 implementation for sem_getvalue() */ + /* NOT POSIX */ #define sem_trywait_block(psem,t) (WaitForSingleObject(*(psem),t)==WAIT_OBJECT_0?0:(errno=EAGAIN,-1)) #elif defined(__OS2__) /* These have *not* been tested! */ @@ -95,6 +97,9 @@ extern "C" { #endif +/* Change semaphore to "unsignaled" (NOT POSIX) */ +#define sem_reset(psem) while(sem_trywait(psem)==0) + #if defined(__cplusplus) } #endif -- GitLab