diff options
| author | Linus Färnstrand <faern@faern.net> | 2020-12-22 12:24:17 +0100 |
|---|---|---|
| committer | Linus Färnstrand <faern@faern.net> | 2020-12-22 12:24:17 +0100 |
| commit | 865e4797df83a702982186bbbd6bc70268cd2664 (patch) | |
| tree | 2591f6d60f4822f753db5b5545ec57f32f9c5e21 | |
| parent | 3eef20ffa0887a88a15c29eb17de5e20a5c99363 (diff) | |
| download | rust-865e4797df83a702982186bbbd6bc70268cd2664.tar.gz rust-865e4797df83a702982186bbbd6bc70268cd2664.zip | |
Fix compare_and_swap in Windows thread_parker
| -rw-r--r-- | library/std/src/sys/windows/thread_parker.rs | 2 |
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 { |
