The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

atomic_store, atomic_store_explicit — atomically store a value in an object

SYNOPSIS

#include <stdatomic.h>

void atomic_store(volatile
A *object, C desired);
void atomic_store_explicit(volatile
A *object, C desired,
       memory_order
order);

DESCRIPTION

[CX] [Option Start] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard. [Option End]

Implementations that define the macro __STDC_NO_ATOMICS__ need not provide the <stdatomic.h> header nor support these generic functions.

The atomic_store_explicit() generic function shall atomically replace the value pointed to by object with desired. Memory shall be affected according to the value of order, which the application shall ensure is not memory_order_acquire, memory_order_consume, nor memory_order_acq_rel.

The atomic_store() generic function shall be equivalent to atomic_store_explicit() called with order set to memory_order_seq_cst.

RETURN VALUE

These generic functions shall not return a value.

ERRORS

No errors are defined.


The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

XBD 4.15.1 Memory Ordering , <stdatomic.h>

CHANGE HISTORY

First released in Issue 8. Included for alignment with the ISO/IEC 9899:2018 standard.

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]