]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
sources: update source selection with unreachable sources
authorMiroslav Lichvar <mlichvar@redhat.com>
Mon, 29 Apr 2024 13:42:16 +0000 (15:42 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Tue, 30 Apr 2024 13:52:18 +0000 (15:52 +0200)
When updating the reachability register of a source with zero, call the
source selection even if the source is not the currently selected as the
best source. But do that only if all reachability bits are zero, i.e.
there was no synchronized response for last 8 polls.

This will enable the source selection to log a message when only
unreachable sources are updating reachability and it decreases the
number of unnecessary source selections.

sources.c

index b728431c33f6d50c39bf0317622d0c37a0f9b8b6..626aaa5b6b98855ba1ffdf11b525fcb2fd835738 100644 (file)
--- a/sources.c
+++ b/sources.c
@@ -524,8 +524,8 @@ SRC_UpdateReachability(SRC_Instance inst, int reachable)
   if (inst->reachability_size < SOURCE_REACH_BITS)
       inst->reachability_size++;
 
-  if (!reachable && inst->index == selected_source_index) {
-    /* Try to select a better source */
+  /* Source selection can change with unreachable sources */
+  if (inst->reachability == 0) {
     SRC_SelectSource(NULL);
   }