summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lock.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lock.rs b/src/lock.rs
index becdfaa..45dd1ad 100644
--- a/src/lock.rs
+++ b/src/lock.rs
@@ -1,5 +1,6 @@
use std::sync::atomic::{AtomicBool, Ordering};
+/// A dumb lock that's just a wrapper for an [`AtomicBool`].
#[derive(Debug, Default)]
pub struct Lock {
is_locked: AtomicBool,
@@ -13,9 +14,7 @@ impl Lock {
}
pub fn try_lock(&self) -> bool {
- self.is_locked
- .compare_exchange_weak(false, true, Ordering::Acquire, Ordering::Relaxed)
- .is_ok()
+ !self.is_locked.fetch_or(true, Ordering::Acquire)
}
pub fn unlock(&self) {