summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2012-12-28 11:28:08 -0500
committerChris Metcalf <cmetcalf@tilera.com>2012-12-28 12:13:01 -0500
commitfdfc65d21f331c0f276a075e17a704183f701555 (patch)
treec03143fe85bcb88f2787891b111cbdb2b61a1567
parentd63f73be346f4f3d4634a0b21ed211fbf0eb6f0a (diff)
tile: support lll_futex_timed_wait_bitset
-rw-r--r--ports/ChangeLog.tile5
-rw-r--r--ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h13
2 files changed, 18 insertions, 0 deletions
diff --git a/ports/ChangeLog.tile b/ports/ChangeLog.tile
index da39a6efae..de8d636af8 100644
--- a/ports/ChangeLog.tile
+++ b/ports/ChangeLog.tile
@@ -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.
diff --git a/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h b/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
index 0e0d48ed06..448ac9e1a1 100644
--- a/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
+++ b/ports/sysdeps/unix/sysv/linux/tile/nptl/lowlevellock.h
@@ -86,6 +86,19 @@
(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); \