1
0
Fork 1
forked from suyu/suyu

k_auto_object: Fix data race

Change the memory order to acqure-release when we decrement the
reference count. Prevents a race with line 89 reported by TSan.
This commit is contained in:
lat9nq 2022-04-01 19:54:35 -04:00
parent 6bcbbb29e7
commit 983916e919

View file

@ -163,7 +163,7 @@ public:
do {
ASSERT(cur_ref_count > 0);
} while (!m_ref_count.compare_exchange_weak(cur_ref_count, cur_ref_count - 1,
std::memory_order_relaxed));
std::memory_order_acq_rel));
// If ref count hits zero, destroy the object.
if (cur_ref_count - 1 == 0) {