Don't sync at beginning

This commit is contained in:
Alex Auvolat 2021-03-12 14:51:17 +01:00
parent 7fdaf7aef0
commit 1fea257291

View File

@ -105,6 +105,7 @@ where
mut must_exit: watch::Receiver<bool>, mut must_exit: watch::Receiver<bool>,
mut busy_rx: mpsc::UnboundedReceiver<bool>, mut busy_rx: mpsc::UnboundedReceiver<bool>,
) -> Result<(), Error> { ) -> Result<(), Error> {
let mut prev_ring: Arc<Ring> = self.aux.system.ring.borrow().clone();
let mut ring_recv: watch::Receiver<Arc<Ring>> = self.aux.system.ring.clone(); let mut ring_recv: watch::Receiver<Arc<Ring>> = self.aux.system.ring.clone();
let mut nothing_to_do_since = Some(Instant::now()); let mut nothing_to_do_since = Some(Instant::now());
@ -117,9 +118,12 @@ where
select! { select! {
new_ring_r = s_ring_recv => { new_ring_r = s_ring_recv => {
if new_ring_r.is_some() { if let Some(new_ring) = new_ring_r {
debug!("({}) Ring changed, adding full sync to syncer todo list", self.data.name); if !Arc::ptr_eq(&new_ring, &prev_ring) {
self.add_full_sync(); debug!("({}) Ring changed, adding full sync to syncer todo list", self.data.name);
self.add_full_sync();
prev_ring = new_ring;
}
} }
} }
busy_opt = s_busy => { busy_opt = s_busy => {