Namespaces
Variants
Views
Actions

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, 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
  (since C++11)

[edit] See also

defines memory ordering constraints for the given atomic operation
(typedef) [edit]
generic memory order-dependent fence synchronization primitive
(function) [edit]