From: khizmax Date: Wed, 5 Apr 2017 20:42:39 +0000 (+0300) Subject: Fixed memory ordering X-Git-Tag: v2.3.0~84 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3e6373d5dfa4be891dffa1f9aabc3b60d0dc18dd;p=libcds.git Fixed memory ordering --- diff --git a/src/hp.cpp b/src/hp.cpp index afa05a37..616ea59b 100644 --- a/src/hp.cpp +++ b/src/hp.cpp @@ -247,7 +247,7 @@ namespace cds { namespace gc { namespace hp { hprec = create_thread_data(); hprec->m_idOwner.store( curThreadId, atomics::memory_order_relaxed ); - thread_record* pOldHead = thread_list_.load( atomics::memory_order_acquire ); + thread_record* pOldHead = thread_list_.load( atomics::memory_order_relaxed ); do { hprec->m_pNextNode.store( pOldHead, atomics::memory_order_release ); } while ( !thread_list_.compare_exchange_weak( pOldHead, hprec, atomics::memory_order_release, atomics::memory_order_acquire ) );