In message: <[EMAIL PROTECTED]> Rob Seaman <[EMAIL PROTECTED]> writes: : > If by "some limp attempt" you mean "returns the correct time" then you : > are correct. : : It's not the correct time under the current standard if the : timekeeping model doesn't implement leap seconds correctly. I don't : think this is an impossible expectation, see http:// : www.eecis.udel.edu/~mills/exec.html, starting with the Levine and : Mills PTTI paper.
It implements exactly what ntpd wants. I asked Judah Levine when determining what was pedantically correct during the leap second. I also consulted with the many different resources avaialable to deterimine what the right thing is. Of course, there are different explaintions about what the leap second should look like depending on if you listen to Dr. Levine or Dr Mills. Dr. Mills web site says 'redo the first second of the next day' while Dr. Levine's leapsecond.dat file says 'repeat the last second of the day.' Actually, both of them hedge and say 'most systems implement...' or some variation on that theme. It is possible to determine when you are in a leap second using ntp extensions with their model. Just not with POSIX interfaces. The POSIX interfaces are kludged, while the ntpd ones give you enough info to know to print :59 or :60, but POSIX time_t is insufficiently expressive, by itself, to know. But ntp_gettime returns a timespec for the time, as well as a time_state for the current time status, which includes TIME_INS and TIME_DEL for psotive and negative leap second 'warning' for end of the day so you know there will be a leap today, and TIME_WAIT for the actual positive leap second itself (there's nothing for a negative leapsecond, obviously). So I stand by my "returns the correct time" statement. Warner