std::atomic_signal_fence

From Cppreference

Jump to: navigation, search
Defined in header <atomic>

extern "C" void atomic_signal_fence( std::memory_order order );
(C++11 feature)

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, e.g. writes cannot be moved past std::atomic_signal_fence(std::memory_order_release) and reads cannot be moved ahead of std::atomic_signal_fence(std::memory_order::acquire).

Contents

[edit] Parameters

order - the memory ordering executed by this fence

[edit] Return value

(none)

[edit] Exceptions

noexcept specification:  
noexcept

  (C++11 feature)

[edit] See also

memory_order (C++11)
defines memory ordering constraints for the given atomic operation
(typedef)
atomic_thread_fence (C++11)
generic memory order-dependent fence synchronization primitive
(function)