From 6143ea31aa0013f8a835b979b8444ef691d0d208 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 May 2010 10:52:46 +0200 Subject: [PATCH] Fix retval check of SleepConditionVariableCS SleepConditionVariableCS of Windows returns non-zero on success; zero on failure (opposite of pthread_cond_timedwait). --- src/condvar.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/condvar.c b/src/condvar.c index 5bbd92a..e6292bd 100644 --- a/src/condvar.c +++ b/src/condvar.c @@ -72,6 +72,7 @@ void yaz_cond_destroy(YAZ_COND *p) int yaz_cond_wait(YAZ_COND p, YAZ_MUTEX m, const struct timeval *abstime) { #ifdef WIN32 + BOOL v; if (abstime) { struct timeval tval_now; @@ -81,10 +82,11 @@ int yaz_cond_wait(YAZ_COND p, YAZ_MUTEX m, const struct timeval *abstime) sec = abstime->tv_sec - tval_now.tv_sec; msec = (abstime->tv_usec - tval_now.tv_usec) / 1000; - return SleepConditionVariableCS(&p->cond, &m->handle, sec*1000 + msec); + v = SleepConditionVariableCS(&p->cond, &m->handle, sec*1000 + msec); } else - return SleepConditionVariableCS(&p->cond, &m->handle, INFINITE); + v = SleepConditionVariableCS(&p->cond, &m->handle, INFINITE); + return v ? 0 : -1; #elif YAZ_POSIX_THREADS if (abstime) { -- 1.7.10.4