From e11e039e02ef30a98a7928ce6c59cebe096dd753 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Wed, 1 Dec 2021 15:08:07 -0800 Subject: Export of internal Abseil changes -- 08d99ee216b7bfac1c5182db952d4e053e5ebc31 by Abseil Team : Fix race condition reported by tsan on `inline_element_size` in hashtablez. PiperOrigin-RevId: 413520771 GitOrigin-RevId: 08d99ee216b7bfac1c5182db952d4e053e5ebc31 Change-Id: Ibd396803f04a659cfbdb8dc7ec37511643657694 --- absl/container/internal/hashtablez_sampler.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'absl/container/internal/hashtablez_sampler.cc') diff --git a/absl/container/internal/hashtablez_sampler.cc b/absl/container/internal/hashtablez_sampler.cc index 1a3ca7cc..a3e15a70 100644 --- a/absl/container/internal/hashtablez_sampler.cc +++ b/absl/container/internal/hashtablez_sampler.cc @@ -111,7 +111,8 @@ HashtablezInfo* SampleSlow(int64_t* next_sample, size_t inline_element_size) { if (ABSL_PREDICT_FALSE(ShouldForceSampling())) { *next_sample = 1; HashtablezInfo* result = GlobalHashtablezSampler().Register(); - result->inline_element_size = inline_element_size; + result->inline_element_size.store(inline_element_size, + std::memory_order_relaxed); return result; } @@ -138,7 +139,8 @@ HashtablezInfo* SampleSlow(int64_t* next_sample, size_t inline_element_size) { } HashtablezInfo* result = GlobalHashtablezSampler().Register(); - result->inline_element_size = inline_element_size; + result->inline_element_size.store(inline_element_size, + std::memory_order_relaxed); return result; #endif } -- cgit v1.2.3