summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-03-01 06:55:57 +0000
committerJakub Jelinek <jakub@redhat.com>2006-03-01 06:55:57 +0000
commit6a8c1091fdc978b0e369f4ca3f58a07c2f8b9d33 (patch)
tree754e2649fcc68e83b3ad749cb5a1a1f7549ffafb /nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
parent378b1353df56387b0706bc42cb661ff2227c8eb9 (diff)
Updated to fedora-glibc-20060301T0647
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
index 55c464cdc6..1a2e8cbb07 100644
--- a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
@@ -201,13 +201,14 @@ __lll_mutex_unlock (int *futex)
static inline void __attribute__ ((always_inline))
-__lll_robust_mutex_unlock (int *futex)
+__lll_robust_mutex_unlock (int *futex, int mask)
{
int val = atomic_exchange_rel (futex, 0);
- if (__builtin_expect (val & FUTEX_WAITERS, 0))
+ if (__builtin_expect (val & mask, 0))
lll_futex_wake (futex, 1);
}
-#define lll_robust_mutex_unlock(futex) __lll_robust_mutex_unlock(&(futex))
+#define lll_robust_mutex_unlock(futex) \
+ __lll_robust_mutex_unlock(&(futex), FUTEX_WAITERS)
static inline void __attribute__ ((always_inline))