Rodolfo J. Paiz kirjoitti viestissään (lähetysaika tiistai, 13. huhtikuuta 2004 02:27): > and then forcefully changes the local system time > to whatever result it got from the server, regardless of what > that result was and with no sanity checks.
small (<0.5s) clock changes are done by "slewing" the clock, not by instantly jumping the clock.
While I simplified the description for the OP (not having that many hours to spend on this list), the concept is valid and true. From the ntpdate documentation:
"Time adjustments are made by ntpdate in one of two ways. If ntpdate determines the clock is in error more than 0.5 second it will simply step the time by calling the system settimeofday() routine. If the error is less than 0.5 seconds, it will slew the time by calling the system adjtime() routine."
The part you left out is the part that agrees with me. Errors of more than a half-second (which are pretty darn common on systems whose time has not previously been synchronized) are corrected by "instantly jumping the clock" in your words. There are no sanity checks on ntpdate by default, since I've had ntpdate take a server whose time was SIX YEARS off and instantly jump it to the right time. Six years of adjustment in one second is what I called forceful. Nothing you've added changes that.
Cheers,
-- Rodolfo J. Paiz rpaiz@xxxxxxxxxxxxxx http://www.simpaticus.com