mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
time-util: improve detection of synchronized clock
Instead of checking for the STA_UNSYNC flag in the timex status, check the maximum error. It is updated by the kernel, increasing at a rate of 500 ppm. The maximum value is 16 seconds, which triggers the STA_UNSYNC flag. This follows timedatex and allows timedated to correctly detect a clock synchronized by chronyd when configured to not synchronize the RTC.
This commit is contained in:
parent
1888e5bec6
commit
bca5a0eacc
@ -1191,7 +1191,10 @@ bool ntp_synced(void) {
|
||||
if (adjtimex(&txc) < 0)
|
||||
return false;
|
||||
|
||||
if (txc.status & STA_UNSYNC)
|
||||
/* Consider the system clock synchronized if the reported maximum error is smaller than the maximum
|
||||
* value (16 seconds). Ignore the STA_UNSYNC flag as it may have been set to prevent the kernel from
|
||||
* touching the RTC. */
|
||||
if (txc.maxerror >= 16000000)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user