This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD Editorial status.
atomic_init
Section: 32.5.8.2 [atomics.types.operations] Status: NAD Editorial Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [atomics.types.operations].
View all issues with NAD Editorial status.
Discussion:
Addresses US-171
As of 32.5.8.2 [atomics.types.operations] p. 7:
Theatomic_init
definition "Non-atomically assigns the
value" is not quite correct, as the atomic_init
purpose is
initialization.
Proposed resolution:
Change 32.5.8.2 [atomics.types.operations] p. 7 as indicated:
void atomic_init(volatile A *object, C desired); void atomic_init(A *object, C desired);7 Effects:
Non-atomically assigns the value desired toInitializes*object
*object
with valuedesired
. Concurrent access from another thread, even via an atomic operation, constitutes a data race. [Note: This function should only be applied to objects that have been default constructed. These semantics ensure compatibility withC
. — end note]