+ if (abstime)
+ {
+ struct timeval tval_now;
+ int sec, msec;
+
+ yaz_gettimeofday(&tval_now);
+
+ 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);
+ }
+ else
+ return SleepConditionVariableCS(&p->cond, &m->handle, INFINITE);