diff options
| author | tv <tv@krebsco.de> | 2026-10-26 04:20:52 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-26 04:20:52 +0100 |
| commit | 7b7dcb5a77061cb69d368de263a02b5ad26fbf51 (patch) | |
| tree | d3255ce629cb60059cb55191dc206d0f64ca645e /src/remake/switch.rs | |
| parent | d668ce2ff8f308e54c1c7a2c145cb3479cab899d (diff) | |
unify lock logic
Diffstat (limited to 'src/remake/switch.rs')
| -rw-r--r-- | src/remake/switch.rs | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/remake/switch.rs b/src/remake/switch.rs index 65f296f..903baea 100644 --- a/src/remake/switch.rs +++ b/src/remake/switch.rs @@ -38,6 +38,7 @@ use super::vote; use crate::document::meta::{self, REMAKES}; use crate::document::replica::Epoch; use crate::document::store; +use crate::locks::MutexExt; use crate::swarm::sync::paths_related; const TICK: Duration = Duration::from_secs(1); @@ -311,16 +312,10 @@ pub(super) async fn swap_in<H: Host>( "Replayed late changes" ); } - *late_out - .lock() - .unwrap_or_else(|poisoned| poisoned.into_inner()) = late; + *late_out.lock_or_recover() = late; Ok(new_doc) }) .await?; - let late = std::mem::take( - &mut *late_stats - .lock() - .unwrap_or_else(|poisoned| poisoned.into_inner()), - ); + let late = std::mem::take(&mut *late_stats.lock_or_recover()); Ok((old, late)) } |
