Recover a poisoned `RwLock` read guard, logging a warning.
(
result: Result<RwLockReadGuard<'a, T>, PoisonError<RwLockReadGuard<'a, T>>>,
lock_name: &str,
)
| 21 | |
| 22 | /// Recover a poisoned `RwLock` read guard, logging a warning. |
| 23 | pub fn read_or_recover<'a, T>( |
| 24 | result: Result<RwLockReadGuard<'a, T>, PoisonError<RwLockReadGuard<'a, T>>>, |
| 25 | lock_name: &str, |
| 26 | ) -> RwLockReadGuard<'a, T> { |
| 27 | result.unwrap_or_else(|p| { |
| 28 | tracing::warn!(lock = lock_name, "RwLock poisoned (read), recovering"); |
| 29 | p.into_inner() |
| 30 | }) |
| 31 | } |
| 32 | |
| 33 | /// Recover a poisoned `Mutex` guard, logging a warning. |
| 34 | pub fn lock_or_recover<'a, T>( |
no outgoing calls
no test coverage detected