Michael Kerrisk
75bc6c1197
futex.2: srcfix: note kernel commit that removed FUTEX_FD
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
1abce893a5
futex.2: srcfix: add copyright notices
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
730bfbda71
futex.2: FUTEX_WAKE makes no guarantees about which waiters are awoken
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
2674f7815a
futex.2: FUTEX_WAIT_BITSET can also get EINTR error
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
4710334a35
futex.2: wfix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
36ab2074ca
futex.2: Add introductory paragraph describing 'timeout', 'uaddr2', and 'val3'
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
f388ba704e
futex.2: Rewrite the intro paragraphs a little
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
66d1619c62
futex.7: Minor fix: futexes can also be shared between threads
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
dc146cb44e
futex.7: Note that a futex is 4 bytes on all platforms
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
dd05d61221
futex.2: Cut down discussion of FUTEX_REQUEUE; defer to FUTEX_CMP_REQUEUE
...
FUTEX_CMP_REQUEUE supercedes FUTEX_REQUEUE and provides a superset
of its functionality. There is need to duplicate any details in
the FUTEX_REQUEUE description, simple defer to the
FUTEX_CMP_REQUEUE and note the differences. This also guides the
reader to do the right thing: use FUTEX_CMP_REQUEUE rather than
FUTEX_REQUEUE.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
3dfcc11d46
futex.2: Expand description of FUTEX_CMP_REQUEUE
...
With some help from "Futexes are tricky" bt Ulrich Drepper.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
4ac63a6c1a
futex.2: Warn that FUTEX_REQUEUE should be avoided in favor of FUTEX_CMP_REQUEUE
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk
6bac3b8517
futex.2: Document FUTEX_WAKE_OP
...
Based on "Futexes are tricky" and some reading of the kernel
source.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
f42eb21b57
futex.2: SEE ALSO: Add reference to "Futexes are tricky" by Ulrich Drepper
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
ec77c507c1
futex.2: tfix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
d33602c4e0
futex.2: Rename 'op' argument to 'futex_op'
...
This is a little more readable, and also helps avoid confusing
when talking about the 'op' subfield in the FUTEX_WAKE_OP
discussion.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
9a12ca2185
futex.2: ffix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
519f2c3db6
futex.2: srcfix: add FIXME
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
f065673c7a
futex.2: Elaborate on the operation of FUTEX_WAIT
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
36448cfa8d
futex.2: Remove duplicate EQWOULDBLOCK error
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
1c952cf53c
futex.2: Note that the CLOCK_MONOTONIC clock is used for relative timeouts
...
Verified from inspection of kernel/futex.c::futex_wait().
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
1909e523d0
futex.2: Clarify that the FUTEX_WAIT timeout is relative
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
81c9d87e3d
futex.2: Clarify which operations were available as at Linux 2.6.0
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
4a7e5b05cc
futex.2: Rework FUTEX_CLOCK_REALTIME text
...
And move ENOSYS diuscussion to ERRORS.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
d67e21f5e2
futex.2: Add placeholders for as yet undocumented operations
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner
2e98bbc24a
futex.2: Document FUTEX_CLOCK_REALTIME
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner
fc30eb799b
futex.2: Document FUTEX_PRIVATE_FLAG
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
6be4bad7e0
futex.2: Note that 'op' argument consists of two parts: operation + options
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
5c47973251
futex.2: wfix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
409f08b018
futex.2: ffix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
a72a3aeb43
futex.2: tfix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
fd1dc4c2c7
futex.2: srcfix: Add FIXME
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
e169277fca
futex.2: ERRORS: add FUTEX_CMP_REQUEUE to EINVAL inconsistent state case
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
a1f47699ab
futex.2: ERRORS: add FUTEX_CMP_REQUEUE to EINVAL for non-4-byte aligned address
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
98fe2f25d2
futex.2: Add FIXME
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
03433acb7b
futex.2: wfix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
add875c03c
futex.2: ERRORS: add EINVAL for FUTEX_REQUEUE to same futex
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
bae14b6c60
futex.2: ERRORS: Add FUTEX_REQUEUE to EINVAL inconsistent state case
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
caf1ff2510
futex.2: ERRORS: add FUTEX_REQUEUE to EINVAL for non-4-byte aligned address
...
Reported-by Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Thomas Gleixner
2abb73b988
futex.2: Rework description of arguments for FUTEX_REQUEUE
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:40 +01:00
Michael Kerrisk
4798a7f357
futex.2: ffix: Separate text about ignored arguments into individual paragraphs
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
496df3049b
futex.2: tfix
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Thomas Gleixner
9534086bb1
futex.2: ERRORS: add EINVAL error for FUTEX_WAIT inconsistent state case
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
ea355b7f77
futex.2: Add FUTEX_WAKE to EINVAL error for 'uaddr' not 4-byte aligned
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
d1926d782e
futex.2: Reword ETIMEDOUT error
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
6b5025a640
futex.2: ERRORS: add EWOULDBLOCK for FUTEX_WAIT atomic enqueueing failed
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
51ee94bee5
futex.2: ERRORS: add EINVAL for 'uaddr' not 4-byte aligned
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
fb2f4c272f
futex.2: ERRORS: Add EINVAL error for invalid timeout
...
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
1ea901e832
futex.2: ERRORS: Improve description of EFAULT error
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00
Michael Kerrisk
61bba8b41d
futex.7: Minor wording and grammar fixes
...
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:39 +01:00