summary refs log tree commit diff
path: root/library/std/src/sys/windows
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2020-11-20 22:27:50 +0100
committerLinus Färnstrand <faern@faern.net>2020-12-22 12:19:46 +0100
commit828d4ace4dee856b376fa44cc095d490ee799c30 (patch)
tree4c97e5e4dd24f69a0caf17d87abeeb861da74f5e /library/std/src/sys/windows
parent4252e482569f00612e768811cbe0295562095343 (diff)
downloadrust-828d4ace4dee856b376fa44cc095d490ee799c30.tar.gz
rust-828d4ace4dee856b376fa44cc095d490ee799c30.zip
Migrate standard library away from compare_and_swap
Diffstat (limited to 'library/std/src/sys/windows')
-rw-r--r--library/std/src/sys/windows/mutex.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/library/std/src/sys/windows/mutex.rs b/library/std/src/sys/windows/mutex.rs
index fa51b006c34..d4cc56d4cb3 100644
--- a/library/std/src/sys/windows/mutex.rs
+++ b/library/std/src/sys/windows/mutex.rs
@@ -123,9 +123,9 @@ impl Mutex {
         let inner = box Inner { remutex: ReentrantMutex::uninitialized(), held: Cell::new(false) };
         inner.remutex.init();
         let inner = Box::into_raw(inner);
-        match self.lock.compare_and_swap(0, inner as usize, Ordering::SeqCst) {
-            0 => inner,
-            n => {
+        match self.lock.compare_exchange(0, inner as usize, Ordering::SeqCst, Ordering::SeqCst) {
+            Ok(_) => inner,
+            Err(n) => {
                 Box::from_raw(inner).remutex.destroy();
                 n as *const _
             }