about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Denton <christophersdenton@gmail.com>2022-08-18 18:34:19 +0100
committerChris Denton <christophersdenton@gmail.com>2022-08-20 04:15:46 +0100
commitefd305e0ec1c1f973a5e3d610f268036640d9613 (patch)
treec2a54025ea3a153445fd6e080483acfa55a75521
parentb631ca0c2fbc69ce7718b50ff34a7c238f28c05f (diff)
downloadrust-efd305e0ec1c1f973a5e3d610f268036640d9613.tar.gz
rust-efd305e0ec1c1f973a5e3d610f268036640d9613.zip
Simplify load/store
-rw-r--r--library/std/src/sys/windows/compat.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/library/std/src/sys/windows/compat.rs b/library/std/src/sys/windows/compat.rs
index 60cc705cef2..e2d5e1e881a 100644
--- a/library/std/src/sys/windows/compat.rs
+++ b/library/std/src/sys/windows/compat.rs
@@ -214,11 +214,8 @@ pub(super) fn load_synch_functions() {
         Some(())
     }
 
-    // Shortcut if we've already tried (and failed) to load the library.
+    // Try to load the module but skip loading if a previous attempt failed.
     static LOAD_MODULE: AtomicBool = AtomicBool::new(true);
-    if LOAD_MODULE.load(Ordering::Acquire) {
-        if try_load().is_none() {
-            LOAD_MODULE.store(false, Ordering::Release);
-        }
-    }
+    let module_loaded = LOAD_MODULE.load(Ordering::Acquire) && try_load().is_some();
+    LOAD_MODULE.store(module_loaded, Ordering::Release)
 }