| Updated: October 28, 2024 |
Atomically set the value of an atomic object (C11)
#include <stdatomic.h>
void atomic_store( volatile A *obj,
C desired );
void atomic_store_explicit( volatile A *obj,
C desired,
memory_order order );
The atomic_store() and atomic_store_explicit() functions are generic functions that atomically set the given atomic object to the given value. The atomic_store() function orders memory access according to memory_order_seq_cst; atomic_store_explicit() orders them as specified by order.
The implementation of atomic functions may depend on the architecture. For more information, see LL/SC vs LSE atomic operations in the description in Building Embedded Systems of the cpuinfo area of the system page.
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Read the Caveats |
| Signal handler | Read the Caveats |
| Thread | Yes |
If this function is lock-free (see atomic_is_lock_free()), it's safe to call it from an ISR or signal handler.