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/state/mod.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/state/mod.rs') diff --git a/src/state/mod.rs b/src/state/mod.rs index c5a6885..3336b00 100644 --- a/src/state/mod.rs +++ b/src/state/mod.rs @@ -30,6 +30,7 @@ use tokio::time::Instant; use tracing::{debug, error, warn}; use crate::document::replica::{Epoch, Replica}; +use crate::locks::MutexExt; use crate::remake::{Host, RemakeState}; use crate::swarm::sync::{ChangeSet, SyncEvent}; use crate::swarm::throughput::ThroughputTable; @@ -174,9 +175,7 @@ impl AppState { } pub(crate) fn lock_rtt(&self) -> std::sync::MutexGuard<'_, crate::swarm::rtt::RttTable> { - self.rtt - .lock() - .unwrap_or_else(|poisoned| poisoned.into_inner()) + self.rtt.lock_or_recover() } /// The local epoch. Code that labels or applies sync messages must use the epoch -- cgit v1.3.1