summaryrefslogtreecommitdiffstats
path: root/src/state/host.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/host.rs
parentd668ce2ff8f308e54c1c7a2c145cb3479cab899d (diff)
unify lock logic
Diffstat (limited to 'src/state/host.rs')
-rw-r--r--src/state/host.rs11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/state/host.rs b/src/state/host.rs
index 863cc70..9b149b8 100644
--- a/src/state/host.rs
+++ b/src/state/host.rs
@@ -13,6 +13,7 @@ use tracing::debug;
use super::{AppState, HelloState, Liveness, NodeLifecycle, PeerState, StaleView, Standing};
use crate::document::replica::Epoch;
+use crate::locks::MutexExt;
use crate::remake::{Host, PeerSummary, RemakeState};
use crate::swarm::sync::{ChangeSet, SyncEvent};
@@ -195,14 +196,8 @@ impl Host for AppState {
fn reset_initial_sync(&self) {
self.initial_sync_done
.store(false, std::sync::atomic::Ordering::Release);
- *self
- .catch_up_source
- .lock()
- .unwrap_or_else(|poisoned| poisoned.into_inner()) = None;
- *self
- .catch_up_preference
- .lock()
- .unwrap_or_else(|poisoned| poisoned.into_inner()) = None;
+ *self.catch_up_source.lock_or_recover() = None;
+ *self.catch_up_preference.lock_or_recover() = None;
}
fn subscribe_changes(&self) -> broadcast::Receiver<Arc<ChangeSet>> {