mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-04 06:45:07 -05:00
rtc: improve accuracy of preinit step
This commit is contained in:
@@ -1027,8 +1027,12 @@ RTC_Linux_TimePreInit(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Correct time */
|
/* Correct time */
|
||||||
new_sys_time.tv_sec = rtc_t - (time_t)(0.5 + accumulated_error);
|
|
||||||
new_sys_time.tv_usec = 0;
|
new_sys_time.tv_sec = rtc_t;
|
||||||
|
/* Average error in the RTC reading */
|
||||||
|
new_sys_time.tv_usec = 500000;
|
||||||
|
|
||||||
|
UTI_AddDoubleToTimeval(&new_sys_time, -accumulated_error, &new_sys_time);
|
||||||
|
|
||||||
/* Set system time only if the step is larger than 1 second */
|
/* Set system time only if the step is larger than 1 second */
|
||||||
if (!(gettimeofday(&old_sys_time, NULL) < 0) &&
|
if (!(gettimeofday(&old_sys_time, NULL) < 0) &&
|
||||||
|
|||||||
Reference in New Issue
Block a user