about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2020-12-22 12:24:17 +0100
committerLinus Färnstrand <faern@faern.net>2020-12-22 12:24:17 +0100
commit865e4797df83a702982186bbbd6bc70268cd2664 (patch)
tree2591f6d60f4822f753db5b5545ec57f32f9c5e21
parent3eef20ffa0887a88a15c29eb17de5e20a5c99363 (diff)
downloadrust-865e4797df83a702982186bbbd6bc70268cd2664.tar.gz
rust-865e4797df83a702982186bbbd6bc70268cd2664.zip
Fix compare_and_swap in Windows thread_parker
-rw-r--r--library/std/src/sys/windows/thread_parker.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/std/src/sys/windows/thread_parker.rs b/library/std/src/sys/windows/thread_parker.rs
index 701c6e2e9be..e3585d4cb37 100644
--- a/library/std/src/sys/windows/thread_parker.rs
+++ b/library/std/src/sys/windows/thread_parker.rs
@@ -113,7 +113,7 @@ impl Parker {
                 // Wait for something to happen, assuming it's still set to PARKED.
                 c::WaitOnAddress(self.ptr(), &PARKED as *const _ as c::LPVOID, 1, c::INFINITE);
                 // Change NOTIFIED=>EMPTY but leave PARKED alone.
-                if self.state.compare_and_swap(NOTIFIED, EMPTY, Acquire) == NOTIFIED {
+                if self.state.compare_exchange(NOTIFIED, EMPTY, Acquire, Acquire) == NOTIFIED {
                     // Actually woken up by unpark().
                     return;
                 } else {