sources: ignore inactive sources in special mode ending

This commit is contained in:
Miroslav Lichvar 2014-04-10 17:11:20 +02:00
parent 8671002bd7
commit 7fa22d4c25
2 changed files with 6 additions and 2 deletions

4
main.c
View file

@ -150,8 +150,8 @@ post_init_ntp_hook(void *anything)
RCL_StartRefclocks();
/* Special modes can end only when sources update their reachability.
Give up immediatelly if there are no sources. */
if (ref_mode != REF_ModeNormal && !SRC_ReadNumberOfSources()) {
Give up immediatelly if there are no active sources. */
if (ref_mode != REF_ModeNormal && !SRC_ActiveSources()) {
REF_SetUnsynchronised();
}
}

View file

@ -373,6 +373,10 @@ special_mode_end(void)
int i;
for (i = 0; i < n_sources; i++) {
/* No updates from inactive sources */
if (!sources[i]->active)
continue;
/* Don't expect more updates than from an offline iburst NTP source */
if (sources[i]->reachability_size >= SOURCE_REACH_BITS - 1)
continue;