On Jul 1, 2011, at 10:14 AM, A Darren Dunham wrote:
NTP doesn't have a table of leap seconds (or even much knowledge about them ahead of time),
NTP-the-protocol has the "leap bits", which do constitute information about leap seconds ahead of time: Leap Indicator (sys.leap, peer.leap, pkt.leap): This is a two-bit code warning of an impending leap second to be inserted in the NTP timescale.
so the clock isn't slewed or modified ahead of a leap second insertion.
Modifying it ahead of the insertion, based on a warning of an impending leap second, would, indeed, probably be the wrong thing to do. But a POSIX-style time_t clock must be modified *after* the insertion, even though the clock might be ticking exactly once per atomic second and thus not need modification in a world where time_t really meant "atomic seconds that have elapsed since the Epoch". I.e., the clock has to drift away from an atomic-time counter....