On Fri, Jul 01, 2011 at 09:43:49AM -0700, Guy Harris wrote:
Actual computer systems may follow this. Or they may alter the speed of their internal clock to slew them back into sync with the value of time_t, just as they do when they discover an error in their internal clock.
...or they may fail to do either, and thus, in practice, violate POSIX. I suspect that, these days, NTP is used enough that they do arrange that time_t not tick exactly once per SI second (yeah, one could view that as "NTP is not only used to *correct* clock drift, it's also used to *cause* clock drift as required by POSIX").
NTP doesn't have a table of leap seconds (or even much knowledge about them ahead of time), so the clock isn't slewed or modified ahead of a leap second insertion. Some computers have (non-POSIX) interfaces to allow NTP to either insert a second or pause the clock for a second. Many computers have neither and NTP simply corrects the clock afterward as if it were off by one second. -- Darren