Browse Source

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.
master
Oswald Buddenhagen 2 years ago
parent
commit
b9a4746b54
  1. 8
      src/main_sync.c

8
src/main_sync.c

@ -43,10 +43,12 @@ print_stats( void )
static void
stats_timeout( void *aux ATTR_UNUSED )
{
if (stats_steps != -1) {
stats_steps = -1;
conf_wakeup( &stats_wakeup, 200 );
print_stats();
}
conf_wakeup( &stats_wakeup, 200 );
}
void
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)

Loading…
Cancel
Save