futex.2: Rewrap some source lines (no content changes)

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2015-07-28 10:09:32 +02:00
parent 9d32a39b82
commit c0dc758efd
1 changed files with 6 additions and 7 deletions

View File

@ -91,9 +91,8 @@ blocking via a futex is an atomic compare-and-block operation.
.\" a detailed specification of the synchronization semantics.
One example use of futexes is implementing locks.
The state of the lock (i.e.,
acquired or not acquired) can be represented as an atomically accessed
flag in shared memory.
The state of the lock (i.e., acquired or not acquired)
can be represented as an atomically accessed flag in shared memory.
In the uncontended case,
a thread can access or modify the lock state with atomic instructions,
for example atomically changing it from not acquired to acquired
@ -255,8 +254,8 @@ architecture).
This load, the comparison with the expected value, and
starting to sleep are performed atomically and totally ordered with respect
to other futex operations on the same futex word.
If the thread starts to
sleep, it is considered a waiter on this futex word.
If the thread starts to sleep,
it is considered a waiter on this futex word.
If the futex value does not match
.IR val ,
then the call fails immediately with the error
@ -264,8 +263,8 @@ then the call fails immediately with the error
The purpose of the comparison with the expected value is to prevent lost
wake-ups: If another thread changed the value of the futex word after the
calling thread decided to block based on the prior value, and if the other
thread executed a
calling thread decided to block based on the prior value,
and if the other thread executed a
.BR FUTEX_WAKE
operation (or similar wake-up) after the value change and before this
.BR FUTEX_WAIT