aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/lowlevellock.h')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/lowlevellock.h25
1 files changed, 0 insertions, 25 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
index 47d4eabd61..8cbc1caa5b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+++ b/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
@@ -222,31 +222,6 @@ extern int __lll_timedlock_elision (int *futex, short *adapt_count,
#define lll_islocked(futex) \
(futex != LLL_LOCK_INITIALIZER)
-extern int __lll_timedwait_tid (int *, const struct timespec *)
- attribute_hidden;
-
-/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex
- wake-up when the clone terminates. The memory location contains the
- thread ID while the clone is running and is reset to zero by the kernel
- afterwards. The kernel up to version 3.16.3 does not use the private futex
- operations for futex wake-up when the clone terminates.
- If ABSTIME is not NULL, is used a timeout for futex call. If the timeout
- occurs then return ETIMEOUT, if ABSTIME is invalid, return EINVAL.
- The futex operation are issues with cancellable versions. */
-#define lll_wait_tid(tid, abstime) \
- ({ \
- int __res = 0; \
- __typeof (tid) __tid; \
- if (abstime != NULL) \
- __res = __lll_timedwait_tid (&(tid), (abstime)); \
- else \
- /* We need acquire MO here so that we synchronize with the \
- kernel's store to 0 when the clone terminates. (see above) */ \
- while ((__tid = atomic_load_acquire (&(tid))) != 0) \
- lll_futex_wait_cancel (&(tid), __tid, LLL_SHARED); \
- __res; \
- })
-
extern int __lll_lock_elision (int *futex, short *adapt_count, int private)
attribute_hidden;