diff --git a/src/xpdev/semwrap.c b/src/xpdev/semwrap.c index c895c84de230e3dd57866b827db7bd96ba011fde..f86617926b16038e6a58ffaf95ee0999898707f3 100644 --- a/src/xpdev/semwrap.c +++ b/src/xpdev/semwrap.c @@ -54,7 +54,8 @@ sem_trywait_block(sem_t *sem, unsigned long timeout) abstime.tv_sec=currtime.tv_sec + (currtime.tv_usec/1000 + timeout)/1000; abstime.tv_nsec=(currtime.tv_usec*1000 + timeout*1000000)%1000000000; - if((retval=sem_timedwait(sem, &abstime)) && errno==ETIMEDOUT) + retval=sem_timedwait(sem, &abstime); + if(retval==ETIMEDOUT) errno=EAGAIN; return retval; }