fix(ntp): make sure queryMultipleNTP finish if all servers failed

This commit is contained in:
Qishuai Liu 2025-05-08 11:31:40 +09:00
parent 77089ea497
commit c13e1e11c5
No known key found for this signature in database
1 changed files with 10 additions and 2 deletions

View File

@ -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) {