From: Roland McGrath Date: Tue, 26 May 2015 23:11:46 +0000 (-0700) Subject: NaCl: Fix thinko in last change. X-Git-Tag: glibc-2.22~262 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4da82229f0ea9dd50e43f15705ee92d5d30c4158;p=thirdparty%2Fglibc.git NaCl: Fix thinko in last change. --- diff --git a/sysdeps/nacl/lll_timedlock_wait.c b/sysdeps/nacl/lll_timedlock_wait.c index df951ee8cbc..1a41a6f6b41 100644 --- a/sysdeps/nacl/lll_timedlock_wait.c +++ b/sysdeps/nacl/lll_timedlock_wait.c @@ -36,17 +36,18 @@ __lll_timedlock_wait (int *futex, const struct timespec *abstime, int private) return EINVAL; /* Try locking. */ - int result = 0; while (atomic_exchange_acq (futex, 2) != 0) { /* If *futex == 2, wait until woken or timeout. */ - result = __nacl_irt_futex.futex_wait_abs ((volatile int *) futex, 2, - abstime); - if (__glibc_likely (result == 0) - || __glibc_likely (result == ETIMEDOUT)) - break; - assert (result == EAGAIN); + int err = __nacl_irt_futex.futex_wait_abs ((volatile int *) futex, 2, + abstime); + if (err != 0) + { + if (__glibc_likely (err == ETIMEDOUT)) + return err; + assert (err == EAGAIN); + } } - return result; + return 0; }