std::atomic_signal_fence
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header <atomic>
  | ||
| extern "C" void atomic_signal_fence( std::memory_order order ); | (since C++11) | |
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.
| Contents | 
[edit] Parameters
| order | - | the memory ordering executed by this fence | 
[edit] Return value
(none)
[edit] Exceptions
[edit] See also
| (C++11) | defines memory ordering constraints for the given atomic operation (typedef) | 
| (C++11) | generic memory order-dependent fence synchronization primitive (function) |