diff --git a/include/boost/unordered/detail/foa/concurrent_table.hpp b/include/boost/unordered/detail/foa/concurrent_table.hpp index b7d1b453..6b37aebe 100644 --- a/include/boost/unordered/detail/foa/concurrent_table.hpp +++ b/include/boost/unordered/detail/foa/concurrent_table.hpp @@ -144,10 +144,10 @@ private: template struct atomic_integral { - operator Integral()const{return n.load(std::memory_order_acquire);} - void operator=(Integral m){n.store(m,std::memory_order_release);} - void operator|=(Integral m){n.fetch_or(m,std::memory_order_acq_rel);} - void operator&=(Integral m){n.fetch_and(m,std::memory_order_acq_rel);} + operator Integral()const{return n.load(std::memory_order_relaxed);} + void operator=(Integral m){n.store(m,std::memory_order_relaxed);} + void operator|=(Integral m){n.fetch_or(m,std::memory_order_relaxed);} + void operator&=(Integral m){n.fetch_and(m,std::memory_order_relaxed);} std::atomic n; };