summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
index 612be091b0..6baab90f56 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
@@ -276,17 +276,17 @@ __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 oldval;
int newval = 0;
lll_compare_and_swap (futex, oldval, newval, "slr %2,%2");
- if (oldval & FUTEX_WAITERS)
+ if (oldval & mask)
lll_futex_wake (futex, 1);
}
#define lll_robust_mutex_unlock(futex) \
- __lll_robust_mutex_unlock(&(futex))
+ __lll_robust_mutex_unlock(&(futex), FUTEX_WAITERS)
static inline void