diff options
Diffstat (limited to 'src/sync.rs')
| -rw-r--r-- | src/sync.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/sync.rs b/src/sync.rs index 38cffc8..18fc912 100644 --- a/src/sync.rs +++ b/src/sync.rs @@ -122,11 +122,11 @@ impl<T> interface::Mutex for SpinLock<T> { fn lock<'a, R>(&'a self, f: impl FnOnce(&'a mut T) -> R) -> R { loop { // Loop until acquired the lock - if let Ok(false) = - self.lock - .compare_exchange(false, true, Ordering::Acquire, Ordering::Relaxed) + match self.lock + .compare_exchange(false, true, Ordering::Acquire, Ordering::Relaxed) { - break; + Ok(_) => { break; } + _ => {} } } let data = unsafe { &mut *self.data.get() }; |
