From 4da82229f0ea9dd50e43f15705ee92d5d30c4158 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 26 May 2015 16:11:46 -0700 Subject: [PATCH] NaCl: Fix thinko in last change. --- sysdeps/nacl/lll_timedlock_wait.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sysdeps/nacl/lll_timedlock_wait.c b/sysdeps/nacl/lll_timedlock_wait.c index df951ee8cb..1a41a6f6b4 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; }