diff --git a/internal/timesync/ntp.go b/internal/timesync/ntp.go index 33340ed..d45112c 100644 --- a/internal/timesync/ntp.go +++ b/internal/timesync/ntp.go @@ -62,6 +62,7 @@ func (t *TimeSync) queryMultipleNTP(servers []string, timeout time.Duration) (no scopedLogger.Warn(). Str("error", err.Error()). Msg("failed to query NTP server") + results <- nil return } @@ -101,8 +102,15 @@ func (t *TimeSync) queryMultipleNTP(servers []string, timeout time.Duration) (no }(server) } - result := <-results - return result.now, result.offset + for range servers { + result := <-results + if result == nil { + continue + } + now, offset = result.now, result.offset + return + } + return } func queryNtpServer(server string, timeout time.Duration) (now *time.Time, response *ntp.Response, err error) {