Definition of Lock-Free
ISO/IEC JTC1 SC22 WG21 N3927 - 2014-02-13
Lawrence Crowl, Lawrence@Crowl.org
This paper addresses issue LWG 2075:
Progress guarantees, lock-free property, and scheduling assumptions.
This issue is also US 5 in
N3733 ISO/IEC CD 14882, C++ 2014, National Body Comments.
1.10 Multi-threaded executions and data races [intro.multithread]
Paragraph 2 remains unchanged as follows.
Implementations should ensure that all unblocked threads
eventually make progress.
Standard library functions may silently block on I/O or locks.
Factors in the execution environment,
including externally-imposed thread priorities,
may prevent an implementation
from making certain guarantees of forward progress.
Add a new paragraph after paragraph 2 as follows.