[ntp:questions] Deciding whether NTP is synchronised?
jch at pps.jussieu.fr
Fri Apr 24 18:45:38 UTC 2009
How can a userspace application decide whether the current time is
For a project of mine, I need to reliably find out whether the system
time is within 5 minutes of UTC. The network will include both
unmanaged client nodes and routers that don't have a battery backed
clock, so incorrect time is rather common.
False negatives are okay (the system will work if clocks are detected as
broken, just a little less efficiently), but false positives would have
some rather unpleasant consequences.
I'm currently using the following on my Linux nodes:
rc = adjtimex(&timex);
return (rc >= 0 && rc != TIME_ERROR);
On BSD nodes, I'm doing:
rc = ntp_gettime(&ntptv);
return (rc >= 0 && ntptv.time_state != TIME_ERROR);
Is that correct? Or is there a better way?
More information about the questions