From 839edd35a42595c184d95a9bd5a46adcce324629 Mon Sep 17 00:00:00 2001 From: Brooks Prumo Date: Thu, 7 Oct 2021 13:32:40 -0500 Subject: [PATCH] Correctly constrain BucketStorage Header's memory ordering (#20507) --- bucket_map/src/bucket_storage.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bucket_map/src/bucket_storage.rs b/bucket_map/src/bucket_storage.rs index 4f091e557..38d0f3d97 100644 --- a/bucket_map/src/bucket_storage.rs +++ b/bucket_map/src/bucket_storage.rs @@ -46,13 +46,13 @@ impl Header { Ok(UID_UNLOCKED) == self .lock - .compare_exchange(UID_UNLOCKED, uid, Ordering::Acquire, Ordering::Relaxed) + .compare_exchange(UID_UNLOCKED, uid, Ordering::AcqRel, Ordering::Relaxed) } fn unlock(&self) -> Uid { self.lock.swap(UID_UNLOCKED, Ordering::Release) } fn uid(&self) -> Uid { - self.lock.load(Ordering::Relaxed) + self.lock.load(Ordering::Acquire) } }