(lll_futex_wait, lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On
authorUlrich Drepper <drepper@redhat.com>
Tue, 8 Jul 2003 03:42:27 +0000 (03:42 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 8 Jul 2003 03:42:27 +0000 (03:42 +0000)
success return actual return value from the syscall, not 0.

sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h

index e286ef3..cc054f9 100644 (file)
@@ -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) \
     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 */