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/__wait.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/thread/__wait.c') diff --git a/src/thread/__wait.c b/src/thread/__wait.c index ec1e8206..3d0d9204 100644 --- a/src/thread/__wait.c +++ b/src/thread/__wait.c @@ -10,7 +10,7 @@ void __wait(volatile int *addr, volatile int *waiters, int val, int priv) } if (waiters) a_inc(waiters); while (*addr==val) { - __syscall(SYS_futex, addr, FUTEX_WAIT|priv, val, 0) != -EINVAL + __syscall(SYS_futex, addr, FUTEX_WAIT|priv, val, 0) != -ENOSYS || __syscall(SYS_futex, addr, FUTEX_WAIT, val, 0); } if (waiters) a_dec(waiters); -- cgit v1.2.1