diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-11-19 00:41:47 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-11-19 00:41:47 +0100 |
commit | db08e29b64a78af5a8c241fee09e73e3a8c631c2 (patch) | |
tree | f422b1794810dbbf1272ef28b072fc3236a20147 /src | |
parent | 051884ea87b4afd90ab9d7c755688fe911af9451 (diff) |
only overwrite interval and dhcp6 lease timestamp on first sync
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 15 |
1 files 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), |