Defined in header
void atomic_signal_fence( memory_order order );
Establishes memory synchronization ordering of non-atomic and relaxed atomic accesses, as instructed by
order, between a thread and a signal handler executed on the same thread. This is equivalent to std::atomic_thread_fence, except no CPU instructions for memory ordering are issued. Only reordering of the instructions by the compiler is suppressed as
order instructs. For example, writes cannot be moved past a fence with release semantics and reads cannot be moved ahead of a fence with acquire semantics.
|order||-||the memory ordering executed by this fence|
C++ documentation for atomic_signal_fence