tile: support lll_futex_timed_wait_bitset
authorChris Metcalf <cmetcalf@tilera.com>
Fri, 28 Dec 2012 16:28:08 +0000 (11:28 -0500)
committerChris Metcalf <cmetcalf@tilera.com>
Fri, 28 Dec 2012 17:13:01 +0000 (12:13 -0500)
ports/ChangeLog.tile
ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h

index da39a6e..de8d636 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-28  Chris Metcalf  <cmetcalf@tilera.com>
+
+       * sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
+       (lll_futex_timed_wait_bitset): New macro.
+
 2012-12-14  Chris Metcalf  <cmetcalf@tilera.com>
 
        * sysdeps/unix/sysv/linux/tile/nptl/clone.S: Fix DWARF info.
index 0e0d48e..448ac9e 100644 (file)
                              (val), (timespec));                             \
   })
 
+#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);                                           \