X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcondvar.c;h=e6292bdae2ca403937cd324bc257578eab9be7a9;hp=5bbd92a3a39a96550326edecb9fa56a1e421340e;hb=6143ea31aa0013f8a835b979b8444ef691d0d208;hpb=d29edd99352a6faa759d36867a6ebaa485012f25 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) {