summaryrefslogtreecommitdiff
path: root/src/sync.rs
diff options
context:
space:
mode:
authorChristian Cunningham <c@localhost>2022-08-26 18:21:37 -0700
committerChristian Cunningham <c@localhost>2022-08-26 18:21:37 -0700
commitc649f061c72af454199c5a2a9148c4867703da80 (patch)
tree72b61a2e13da78a0874aa0c4b747b10a3e18b77b /src/sync.rs
parent99ab7eadbc72eb0dc2dd776b83373a4b7035f3ea (diff)
Use lock
Diffstat (limited to 'src/sync.rs')
-rw-r--r--src/sync.rs8
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() };