diff --git a/futures-util/src/task/atomic_waker.rs b/futures-util/src/task/atomic_waker.rs index 45d8695e60..cd34469dee 100644 --- a/futures-util/src/task/atomic_waker.rs +++ b/futures-util/src/task/atomic_waker.rs @@ -227,8 +227,8 @@ impl AtomicWaker { // completed. let waker = (*self.waker.get()).take().unwrap(); - // Just swap, because no one could change state while state == `REGISTERING` | `WAKING`. - self.state.swap(WAITING, AcqRel); + // Just store, because no one could change state while state == `REGISTERING` | `WAKING`. + self.state.store(WAITING, Release); // The atomic swap was complete, now // wake the task and return.