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.
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);
}