memory_order
QNX SDP8.0C Library ReferenceAPIDeveloper
Enumerated type for how regular non-atomic memory accesses are to be ordered around an atomic operation
Synopsis:
#include <stdatomic.h>
typedef enum
  {
    memory_order_relaxed = __ATOMIC_RELAXED,
    memory_order_consume = __ATOMIC_CONSUME,
    memory_order_acquire = __ATOMIC_ACQUIRE,
    memory_order_release = __ATOMIC_RELEASE,
    memory_order_acq_rel = __ATOMIC_ACQ_REL,
    memory_order_seq_cst = __ATOMIC_SEQ_CST
  } memory_order;
Description:
The memory_order enumerated type specifies how regular non-atomic memory accesses are to be ordered around an atomic operation. The members include:
- memory_order_relaxed
 - No synchronization or ordering constraints.
 - memory_order_consume
 - No reads or writes in the current thread that depend on the value being loaded can be done before this loading.
 - memory_order_acquire
 - No reads or writes in the current thread can be done before this loading.
 - memory_order_release
 - No reads or writes in the current thread can be done before this store operation.
 - memory_order_acq_rel
 - A read-modify-write operation that is both an acquire and a release operation.
 - memory_order_seq_cst
 - A read-modify-write operation that is both an acquire and a release operation, and all operations must be done in a sequentially consistent order.
 
Classification:
Page updated: 
