X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Futil%2Ffairrwlock.rs;h=5715a8cf646cd67e29b7aa5c21c8722d89a45964;hb=30b9d9fbeaa62537beb8d3ea0b2866703d0d7c92;hp=c9b3866bec5c837e948b3a7f469515ed4b9b79f4;hpb=e5c988e00c515467e76639b5aac47b02a7f7b4a6;p=rust-lightning diff --git a/lightning/src/util/fairrwlock.rs b/lightning/src/util/fairrwlock.rs index c9b3866b..5715a8cf 100644 --- a/lightning/src/util/fairrwlock.rs +++ b/lightning/src/util/fairrwlock.rs @@ -1,4 +1,4 @@ -use std::sync::{LockResult, RwLock, RwLockReadGuard, RwLockWriteGuard}; +use std::sync::{LockResult, RwLock, RwLockReadGuard, RwLockWriteGuard, TryLockResult}; use std::sync::atomic::{AtomicUsize, Ordering}; /// Rust libstd's RwLock does not provide any fairness guarantees (and, in fact, when used on @@ -43,4 +43,8 @@ impl FairRwLock { // codebase. self.lock.read() } + + pub fn try_write(&self) -> TryLockResult> { + self.lock.try_write() + } }