X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fsync%2Ffairrwlock.rs;h=23b8c23db282b20ad5c90d3fc937e367e6b6dac6;hb=5fbc44ee58bbaf2a74174b477916abc22b40f765;hp=a9519ac240cde1e24fb3dd09e37e36eddc552216;hpb=6090d9e6a862a2010eb80be56b7449947bc08374;p=rust-lightning diff --git a/lightning/src/sync/fairrwlock.rs b/lightning/src/sync/fairrwlock.rs index a9519ac2..23b8c23d 100644 --- a/lightning/src/sync/fairrwlock.rs +++ b/lightning/src/sync/fairrwlock.rs @@ -45,15 +45,21 @@ impl FairRwLock { self.lock.read() } + #[allow(dead_code)] pub fn try_write(&self) -> TryLockResult> { self.lock.try_write() } } -impl LockTestExt for FairRwLock { +impl<'a, T: 'a> LockTestExt<'a> for FairRwLock { #[inline] fn held_by_thread(&self) -> LockHeldState { // fairrwlock is only built in non-test modes, so we should never support tests. LockHeldState::Unsupported } + type ExclLock = RwLockWriteGuard<'a, T>; + #[inline] + fn unsafe_well_ordered_double_lock_self(&'a self) -> RwLockWriteGuard<'a, T> { + self.write().unwrap() + } }