Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/atomic/atomic signal fence"

From cppreference.com
< cpp‎ | atomic
m (Text replace - "{{mark c++11 feature}}" to "{{mark since c++11}}")
m (Text replace - "{{cpp|" to "{{c|")
Line 8: Line 8:
 
{{ddcl list end}}
 
{{ddcl list end}}
  
Establishes memory synchronization ordering of non-atomic and relaxed atomic accesses, as instructed by {{tt|order}}, between a thread and a signal handler executed on the same thread. This is equivalent to {{cpp|std::atomic_thread_fence}}, except no CPU instructions for memory ordering are issued. Only reordering of the instructions by the compiler is suppressed as {{tt|order}} instructs, e.g. writes cannot be moved past {{cpp|std::atomic_signal_fence(std::memory_order_release)}} and reads cannot be moved ahead of {{cpp|std::atomic_signal_fence(std::memory_order::acquire)}}.
+
Establishes memory synchronization ordering of non-atomic and relaxed atomic accesses, as instructed by {{tt|order}}, between a thread and a signal handler executed on the same thread. This is equivalent to {{c|std::atomic_thread_fence}}, except no CPU instructions for memory ordering are issued. Only reordering of the instructions by the compiler is suppressed as {{tt|order}} instructs, e.g. writes cannot be moved past {{c|std::atomic_signal_fence(std::memory_order_release)}} and reads cannot be moved ahead of {{c|std::atomic_signal_fence(std::memory_order::acquire)}}.
  
 
===Parameters===
 
===Parameters===

Revision as of 18:47, 19 April 2012

Template:cpp/atomic/sidebar Template:ddcl list begin <tr class="t-dsc-header">

<td>
Defined in header <atomic>
</td>

<td></td> <td></td> </tr> <tr class="t-dcl ">

<td >
extern "C" void atomic_signal_fence( std::memory_order order );
</td>

<td class="t-dcl-nopad"> </td> <td > (since C++11) </td> </tr> Template:ddcl list end

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

Parameters

order - the memory ordering executed by this fence

Return value

(none)

Exceptions

noexcept specification:  
noexcept
  

See also

Template:cpp/atomic/dcl list memory orderTemplate:cpp/atomic/dcl list atomic thread fence