aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index 77c8b16..24193f7 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -129,6 +129,8 @@ async fn dump_config_on_change(
mut rx_dns_config: watch::Receiver<Arc<dns_config::DnsConfig>>,
mut must_exit: watch::Receiver<bool>,
) {
+ let mut prev_dns_config = Arc::new(dns_config::DnsConfig::default());
+
while !*must_exit.borrow() {
select!(
c = rx_dns_config.changed() => {
@@ -138,11 +140,16 @@ async fn dump_config_on_change(
}
_ = must_exit.changed() => continue,
);
- println!("---- DNS CONFIGURATION ----");
- for (k, v) in rx_dns_config.borrow().entries.iter() {
- println!(" {} {}", k, v);
+
+ let new_dns_config = rx_dns_config.borrow_and_update().clone();
+ if new_dns_config != prev_dns_config {
+ println!("---- DNS CONFIGURATION ----");
+ for (k, v) in rx_dns_config.borrow().entries.iter() {
+ println!(" {} {}", k, v);
+ }
+ println!();
}
- println!();
+ prev_dns_config = new_dns_config;
}
}