Added release barrier to node initialization
authorkhizmax <libcds.dev@gmail.com>
Tue, 18 Apr 2017 18:07:12 +0000 (21:07 +0300)
committerkhizmax <libcds.dev@gmail.com>
Tue, 18 Apr 2017 18:07:12 +0000 (21:07 +0300)
cds/container/details/bronson_avltree_base.h

index 9f83ba23446e4d9175f81da01c9f4ad2575bfd71..49cfb877fceda7b350ec9a88d43bcbbc82af952a 100644 (file)
@@ -76,8 +76,9 @@ namespace cds { namespace container {
                 , m_pParent( nullptr )
                 , m_pLeft( nullptr )
                 , m_pRight( nullptr )
-                , m_pValue( nullptr )
-            {}
+            {
+                m_pValue.store( nullptr, atomics::memory_order_release );
+            }
 
             link_node( int nHeight, version_type version, node_type * pParent, node_type * pLeft, node_type * pRight )
                 : m_nHeight( nHeight )
@@ -85,8 +86,9 @@ namespace cds { namespace container {
                 , m_pParent( pParent )
                 , m_pLeft( pLeft )
                 , m_pRight( pRight )
-                , m_pValue( nullptr )
-            {}
+            {
+                m_pValue.store( nullptr, atomics::memory_order_release );
+            }
 
             node_type * parent( atomics::memory_order order ) const
             {