futex.2: Enhance FUTEX_WAKE_BITSET text

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2015-01-13 15:48:51 +01:00
parent 55cc422d78
commit 98d769c098
1 changed files with 16 additions and 5 deletions

View File

@ -449,11 +449,21 @@ This operation is the same as
except that the
.I val3
argument is used to provide a 32-bit bitset to the kernel.
This bitset is used to select waiters on the futex.
The selection is done by a bitwise AND of the wake side
supplied bitset and the bitset which is stored in the kernel internal
state of the waiters.
If the result is nonzero, the waiter is woken, otherwise left waiting.
This bitset is used to select which waiters should be woken up.
The selection is done by a bit-wise AND of the "wake" bitset
(i.e., the value in
.IR val3 )
and the bitset which is stored in the kernel-internal
state of the waiter (using
.BR FUTEX_WAIT_BITSET ).
All of the waiters for which the result of the AND is nonzero are woken up;
the remaining waiters are left sleeping.
The
.I uaddr2
and
.I timeout
arguments are ignored.
.TP
.BR FUTEX_LOCK_PI " (since Linux 2.6.18)"
.\" commit c87e2837be82df479a6bae9f155c43516d2feebc
@ -699,6 +709,7 @@ the address is not four-byte-aligned.
.B EINVAL
.RB ( FUTEX_WAKE ,
.BR FUTEX_WAKE_OP ,
.BR FUTEX_WAKE_BITSET ,
.BR FUTEX_REQUEUE ,
.BR FUTEX_CMP_REQUEUE )
The kernel detected an inconsistency between the user-space state at