From ace1de5aec2c976818ec70512cccdc225873d8c4 Mon Sep 17 00:00:00 2001 From: khizmax Date: Sat, 16 May 2015 18:56:16 +0300 Subject: [PATCH] TSan exam: SplitList --- cds/intrusive/split_list_rcu.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cds/intrusive/split_list_rcu.h b/cds/intrusive/split_list_rcu.h index 3ba40492..99c1c23b 100644 --- a/cds/intrusive/split_list_rcu.h +++ b/cds/intrusive/split_list_rcu.h @@ -519,7 +519,10 @@ namespace cds { namespace intrusive { dummy_node_type * pHead = get_bucket( nHash ); assert( pHead != nullptr ); + // TSan false positive: hash is read-only, will be ordered when we insert a node + CDS_TSAN_ANNOTATE_IGNORE_WRITES_BEGIN; node_traits::to_node_ptr( val )->m_nHash = split_list::regular_hash( nHash ); + CDS_TSAN_ANNOTATE_IGNORE_WRITES_END; if ( m_List.insert_at( pHead, val )) { inc_item_count(); -- 2.34.1