From 7b7dcb5a77061cb69d368de263a02b5ad26fbf51 Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 26 Oct 2026 04:20:52 +0100 Subject: unify lock logic --- src/remake/switch.rs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'src/remake/switch.rs') 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( "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)) } -- cgit v1.3.1