From b8ca9eb5301580dcf101753451eee196edceefbd Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 22 Aug 2014 23:49:54 -0400 Subject: fix fallback checks for kernels without private futex support for unknown syscall commands, the kernel produces ENOSYS, not EINVAL. --- src/thread/pthread_cond_timedwait.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/thread/pthread_cond_timedwait.c') diff --git a/src/thread/pthread_cond_timedwait.c b/src/thread/pthread_cond_timedwait.c index c5cf66c3..2d192b07 100644 --- a/src/thread/pthread_cond_timedwait.c +++ b/src/thread/pthread_cond_timedwait.c @@ -52,7 +52,7 @@ static inline void unlock_requeue(volatile int *l, volatile int *r, int w) { a_store(l, 0); if (w) __wake(l, 1, 1); - else __syscall(SYS_futex, l, FUTEX_REQUEUE|128, 0, 1, r) != -EINVAL + else __syscall(SYS_futex, l, FUTEX_REQUEUE|128, 0, 1, r) != -ENOSYS || __syscall(SYS_futex, l, FUTEX_REQUEUE, 0, 1, r); } -- cgit v1.2.1