Fix deprecation warning in turn_lock

This commit is contained in:
Guillume DIDIER 2021-01-05 11:49:50 +01:00
parent 4a04fcaac6
commit d194a8972e

View File

@ -28,12 +28,13 @@ impl TurnLock {
} }
pub fn next(&mut self) { pub fn next(&mut self) {
assert_eq!(self.turn.load(Ordering::Relaxed), self.index); assert_eq!(self.turn.load(Ordering::Relaxed), self.index);
let r = self.turn.compare_and_swap( let r = self.turn.compare_exchange(
self.index, self.index,
(self.index + 1) % self.num_turns, (self.index + 1) % self.num_turns,
Ordering::Release, Ordering::Release,
Ordering::Relaxed,
); );
if r != self.index { if r.expect("Failed to release lock") != self.index {
panic!("Released lock out of turn"); panic!("Released lock out of turn");
} }
} }