extern "C" void atomic_signal_fence (memory_order sync) noexcept;
enum
type memory_order:value | memory order | description |
---|---|---|
memory_order_relaxed | Relaxed | The call has no effects. |
memory_order_consume | Consume | Sets up an acquire signal fence: Orders instructions with respect to the last release or sequentially consistent operation in the same thread. |
memory_order_acquire | Acquire | |
memory_order_release | Release | Sets up a release signal fence: Orders instructions with respect to the next acquire operation in the same thread. |
memory_order_acq_rel | Acquire/Release | Sets up a signal fence that is both an acquire fence and a release fence: All instructions are ordered with respect to the last release or sequentially consistent operation and with the next acquire operation in the same thread. |
memory_order_seq_cst | Sequentially consistent | Sets up a sequentially consistent acquire and release signal fence: All instructions are ordered with respect to the other sequentially consistent operations in the same thread. |