# std::atomic_signal_fence

From cppreference.com
< cpp‎ | atomic

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, a fence with release semantics prevents reads or writes from being moved past subsequent writes and a fence with acquire semantics prevents reads or writes from being moved ahead of preceding reads.

### Parameters

order | - | the memory ordering executed by this fence

### Return value

(none)

### Exceptions

`noexcept` specification:
noexcept

### Example

| This section is incomplete Reason: no example

### 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)
C documentation for atomic_signal_fence

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/atomic/atomic_signal_fence&oldid=91393"
Categories:

- unconditionally noexcept
- Todo no example

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template