Recover a poisoned `Mutex` guard, logging a warning.
(
result: Result<MutexGuard<'a, T>, PoisonError<MutexGuard<'a, T>>>,
lock_name: &str,
)
| 32 | |
| 33 | /// Recover a poisoned `Mutex` guard, logging a warning. |
| 34 | pub fn lock_or_recover<'a, T>( |
| 35 | result: Result<MutexGuard<'a, T>, PoisonError<MutexGuard<'a, T>>>, |
| 36 | lock_name: &str, |
| 37 | ) -> MutexGuard<'a, T> { |
| 38 | result.unwrap_or_else(|p| { |
| 39 | tracing::warn!(lock = lock_name, "Mutex poisoned, recovering"); |
| 40 | p.into_inner() |
| 41 | }) |
| 42 | } |
no outgoing calls
no test coverage detected