Reformatted SkipList, added memory barrier after tower initialization
[libcds.git] / cds / container / details / make_skip_list_map.h
index cc34b391e3e7ccbe3f70938d2839bf699835ba6e..8e456fe07bbded2621616c223e076f875240dbfc 100644 (file)
@@ -83,8 +83,11 @@ namespace cds { namespace container { namespace details {
             void init_tower( unsigned int nHeight, atomic_marked_ptr * pTower )
             {
                 if ( nHeight > 1 ) {
+                    // TSan: make_tower() issues atomic_thread_fence( release )
+                    CDS_TSAN_ANNOTATE_IGNORE_WRITES_BEGIN;
                     new (pTower) atomic_marked_ptr[ nHeight - 1 ];
                     base_class::make_tower( nHeight, pTower );
+                    CDS_TSAN_ANNOTATE_IGNORE_WRITES_END;
                 }
             }
         };