Commit Graph

145 Commits

Author SHA1 Message Date
Michael Kerrisk fedaeaf35c futex.2: srcfix: Add FIXME for the FUTEX_OWNER_DIED condition
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk d08ce5dd00 futex.2: srcfix: Add FIXME
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 7a39e745a7 futex.2: ERRORS: Add EDEADLK case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 6f147f79bf futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 61f8c1d19b futex.2: srcfix: add FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 5662f56a3d futex.2: ERRORS: Add EAGAIN case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 0b0e49344a futex.2: ERRORS: Add ESRCH case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk c7589177b7 futex.2: ERRORS: Add EPERM case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a218ef20dc futex.2: ERRORS: Add EINVAL case for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 672595267c futex.2: srcfix: Add some FIXMEs for FUTEX_LOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a449c6342a futex.2: ERRORS: Add ENOMEM for FUTEX_LOCK_PI and FUTEX_TRYLOCK_PI
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Thomas Gleixner e0547e70ae futex.2: Document FUTEX_LOCK_PI
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk dcdfde2633 futex.2: srcfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk f2103b2686 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 43b9908905 futex.2: SEE ALSO: add Documentation/{pi-futex.txt,futex-requeue-pi.txt}
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk dd218aaa9d futex.2: srcfix: add FIXMEs
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 9913033cf0 futex.2: SEE ALSO: add get_robust_list(2)
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 09cb4ce716 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk a7c2bf45b7 futex.2: Reorder operations list more or less chronologically
Since there are various sets of related futex operations
that were added at the same time, ordering the descriptions
of operations chronologically makes some sense. In the
meantime, though, keep all of the "PI" operations together.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 63d3f91178 futex.2: tfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk e9d4496bf3 futex.2: Add discussion of FUTEX_WAIT_BITSET/FUTEX_WAKE_BITSET "multiplexing"
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:42 +01:00
Michael Kerrisk 98d769c098 futex.2: Enhance FUTEX_WAKE_BITSET text
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Thomas Gleixner 55cc422d78 futex.2: Document FUTEX_WAKE_BITSET
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk fd9e59d424 futex.2: Add description of FUTEX_WAIT_BITSET 'timeout' argument
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Thomas Gleixner 79c9b4366e futex.2: Document FUTEX_WAIT_BITSET
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 5447735dd2 futex.2: Consolidate EINVAL FUTEX_LOCK_PI errors
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 52dee70ef0 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 180f97b797 futex.2: Reword invalid timeout EINVAL case more generally
Several operations can produce this error, so reword
the text more generally.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 6b060884c5 futex.2: srcfix: added FIXMES
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 0582b19df0 futex.2: wfix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 1afcee7c9b futex.2: ffix
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 4d85047f16 futex.2: Rewrite text of ETIMEDOUT to omit mention of FUTEX_WAIT
Several operations can employ timeouts, so word this error
more generally.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk 0c74df0b6a futex.2: Reword EINVAL error for invalid 'uaddr'/ 'uaddr2' case
There's no need to list all of the various futex operations in
this error case. These arguments are used the same way by each
operation, so the text can be worded in a more general way.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk ae2c1774a2 futex.2: Note the existence of the _PRIVATE constants for 'futex_op'
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
Michael Kerrisk ff5976814d futex.2: Expand FUTEX_FD description
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-15 14:39:41 +01:00
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 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