From 8f3581d8e0e3e78bb512ecbd6907d3001a27f6e4 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Thu, 8 May 2003 18:05:03 +0000 Subject: [PATCH] Of course, sem_trywait_block RETURNS the error number, it does not necessarily set the global errno (duh) --- src/xpdev/semwrap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xpdev/semwrap.c b/src/xpdev/semwrap.c index c895c84de2..f86617926b 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; } -- GitLab