aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-12-27 08:20:46 -0800
committerDavid S. Miller <davem@davemloft.net>2012-12-27 08:20:46 -0800
commit9c7595bda2c37b31e82dab424bfd3015664b176d (patch)
tree260da1875454a0a5cd9de09e1289158f22169b4e
parent31a7fe5ca943b8bd76357c9c013211f8c17db833 (diff)
downloadglibc-9c7595bda2c37b31e82dab424bfd3015664b176d.zip
glibc-9c7595bda2c37b31e82dab424bfd3015664b176d.tar.gz
glibc-9c7595bda2c37b31e82dab424bfd3015664b176d.tar.bz2
Add sparc implementation of lll_futex_timed_wait_bitset
nptl/ * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_futex_timed_wait_bitset): New macro.
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h13
2 files changed, 18 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 78ffe2d..03dd156 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2012-12-27 David S. Miller <davem@davemloft.net>
+
+ * sysdeps/unix/sysv/linux/sparc/lowlevellock.h
+ (lll_futex_timed_wait_bitset): New macro.
+
2012-12-27 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/unix/sysv/linux/s390/lowlevellock.h (SYS_futex):
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
index 939f41d..4799de1 100644
--- a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
@@ -95,6 +95,19 @@ extern void __cpu_relax (void);
__ret; \
})
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+ ({ \
+ INTERNAL_SYSCALL_DECL (__err); \
+ long int __ret; \
+ int __op = FUTEX_WAIT_BITSET | clockbit; \
+ \
+ __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \
+ __lll_private_flag (__op, private), \
+ (val), (timespec), NULL /* Unused. */, \
+ FUTEX_BITSET_MATCH_ANY); \
+ __ret; \
+ })
+
#define lll_futex_wake(futexp, nr, private) \
({ \
INTERNAL_SYSCALL_DECL (__err); \