From db08e29b64a78af5a8c241fee09e73e3a8c631c2 Mon Sep 17 00:00:00 2001 From: HimbeerserverDE Date: Sun, 19 Nov 2023 00:41:47 +0100 Subject: only overwrite interval and dhcp6 lease timestamp on first sync --- src/main.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index cbcc26d..e72b881 100644 --- a/src/main.rs +++ b/src/main.rs @@ -72,16 +72,21 @@ async fn main() -> Result<()> { resync.set_missed_tick_behavior(MissedTickBehavior::Skip); + let mut first_sync = true; loop { tokio::select! { _ = resync.tick() => match sync_time(NTP_SERVER).await { Ok(_) => { - resync = tokio::time::interval(INTERVAL); - resync.reset(); - resync.set_missed_tick_behavior(MissedTickBehavior::Skip); + if first_sync { + resync = tokio::time::interval(INTERVAL); + resync.reset(); + resync.set_missed_tick_behavior(MissedTickBehavior::Skip); - for dhcp6 in System::new_all().processes_by_exact_name("rsdsl_dhcp6") { - dhcp6.kill_with(Signal::User2); + for dhcp6 in System::new_all().processes_by_exact_name("rsdsl_dhcp6") { + dhcp6.kill_with(Signal::User2); + } + + first_sync = false; } } Err(e) => eprintln!("can't synchronize system time: {}", e), -- cgit v1.2.3