Add sparc implementation of lll_futex_timed_wait_bitset
authorDavid S. Miller <davem@davemloft.net>
Thu, 27 Dec 2012 16:20:46 +0000 (08:20 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Dec 2012 16:20:46 +0000 (08:20 -0800)
nptl/

* sysdeps/unix/sysv/linux/sparc/lowlevellock.h
(lll_futex_timed_wait_bitset): New macro.

nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h

index 78ffe2d..03dd156 100644 (file)
@@ -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):
index 939f41d..4799de1 100644 (file)
@@ -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);                                           \