summaryrefslogtreecommitdiffstats
path: root/src/state/mod.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-26 04:20:52 +0100
committertv <tv@krebsco.de>2026-10-26 04:20:52 +0100
commit7b7dcb5a77061cb69d368de263a02b5ad26fbf51 (patch)
treed3255ce629cb60059cb55191dc206d0f64ca645e /src/state/mod.rs
parentd668ce2ff8f308e54c1c7a2c145cb3479cab899d (diff)
unify lock logic
Diffstat (limited to 'src/state/mod.rs')
-rw-r--r--src/state/mod.rs5
1 files changed, 2 insertions, 3 deletions
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