From b9a4746b54cd4159941e4bb4650d75cb26a84a25 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 4 Jul 2022 18:03:24 +0200 Subject: [PATCH] don't refresh progress counters pointlessly the mainloop-based refresh timer keeps spinning even if there is no update. overload stats_steps to signal whether a refresh is needed. amends 8fbc4323. --- src/main_sync.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main_sync.c b/src/main_sync.c index 88baae2..24a88c9 100644 --- a/src/main_sync.c +++ b/src/main_sync.c @@ -43,9 +43,11 @@ print_stats( void ) static void stats_timeout( void *aux ATTR_UNUSED ) { - stats_steps = -1; + if (stats_steps != -1) { + stats_steps = -1; + print_stats(); + } conf_wakeup( &stats_wakeup, 200 ); - print_stats(); } void @@ -55,8 +57,10 @@ stats( void ) return; // If the main loop appears to be running, skip the sync path. - if (stats_steps < 0) + if (stats_steps < 0) { + stats_steps = -2; return; + } // Rate-limit the (somewhat) expensive timer queries. if (++stats_steps < 10)