diff options
| author | Linus Färnstrand <faern@faern.net> | 2020-11-20 22:27:50 +0100 |
|---|---|---|
| committer | Linus Färnstrand <faern@faern.net> | 2020-12-22 12:19:46 +0100 |
| commit | 828d4ace4dee856b376fa44cc095d490ee799c30 (patch) | |
| tree | 4c97e5e4dd24f69a0caf17d87abeeb861da74f5e /library/std/src/sys/windows | |
| parent | 4252e482569f00612e768811cbe0295562095343 (diff) | |
| download | rust-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.rs | 6 |
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 _ } |
