Fixed memory ordering
[libcds.git] / cds / container / impl / bronson_avltree_map_rcu.h
index 55cba8ee93acec1c8fc6645daf0a522233fc85ac..a02c4c2bb2177eec57f74eb2413a097141a9c791 100644 (file)
@@ -1856,7 +1856,7 @@ namespace cds { namespace container {
         {
             assert(pNode->version(memory_model::memory_order_acquire) == version );
             assert( (version & node_type::shrinking) == 0 );
-            pNode->version( version | node_type::shrinking, memory_model::memory_order_release );
+            pNode->exchange_version( version | node_type::shrinking, memory_model::memory_order_acquire );
         }
         static void end_change( node_type * pNode, version_type version )
         {