diff options
| author | Christian Cunningham <c@localhost> | 2022-08-26 18:57:39 -0700 |
|---|---|---|
| committer | Christian Cunningham <c@localhost> | 2022-08-26 18:57:39 -0700 |
| commit | 07e7347e4abde7260b8fcfd886a2509197f06c65 (patch) | |
| tree | e72071e67568a575ae087846de5d5a3beb0c09ea /src/sync.rs | |
| parent | e05010f85baa4c3fd989dd623534051b24a15971 (diff) | |
*cargo fmt
Diffstat (limited to 'src/sync.rs')
| -rw-r--r-- | src/sync.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/sync.rs b/src/sync.rs index 64d3326..00d4d39 100644 --- a/src/sync.rs +++ b/src/sync.rs @@ -122,11 +122,19 @@ 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 - match self.lock - .compare_exchange(false, true, Ordering::Acquire, Ordering::Acquire) + match self + .lock + .compare_exchange(false, true, Ordering::Acquire, Ordering::Acquire) { - Ok(false) => { break; } - _ => {} + Ok(false) => { + break; + } + Ok(true) => { + break; + } + Err(true) => { + break; + } } } let data = unsafe { &mut *self.data.get() }; |
