From dc7d6605c8b7852c3bbcb0fe33e3adb8a983d00a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 8 Jul 2003 03:42:27 +0000 Subject: [PATCH] (lll_futex_wait, lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success return actual return value from the syscall, not 0. --- sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h b/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h index e286ef36cbc..cc054f9ef36 100644 --- a/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h +++ b/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h @@ -39,7 +39,7 @@ long int __ret; \ __ret = INTERNAL_SYSCALL (futex, __err, 4, \ (futexp), FUTEX_WAIT, (val), 0); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \ + INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \ }) #define lll_futex_timed_wait(futexp, val, timespec) \ @@ -48,7 +48,7 @@ long int __ret; \ __ret = INTERNAL_SYSCALL (futex, __err, 4, \ (futexp), FUTEX_WAIT, (val), (timespec)); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \ + INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \ }) #define lll_futex_wake(futexp, nr) \ @@ -57,18 +57,17 @@ long int __ret; \ __ret = INTERNAL_SYSCALL (futex, __err, 4, \ (futexp), FUTEX_WAKE, (nr), 0); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \ + INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \ }) #define lll_futex_requeue(futexp, nr_wake, nr_move, mutex) \ ({ \ INTERNAL_SYSCALL_DECL (__err); \ long int __ret; \ - \ __ret = INTERNAL_SYSCALL (futex, __err, 5, \ (futexp), FUTEX_REQUEUE, (nr_wake), (nr_move), \ (mutex)); \ - INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \ + INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \ }) /* Set *futex to 1 if it is 0, atomically. Returns the old value */ -- 2.47.2