[ntp:questions] Leap second to be introduced in June

William Unruh unruh at invalid.ca
Mon Jan 12 15:55:35 UTC 2015


On 2015-01-12, Michael Moroney <moroney at world.std.spaamtrap.com> wrote:
> Rob <nomail at example.com> writes:
>
>>Michael Moroney <moroney at world.std.spaamtrap.com> wrote:
>>> If I have a system synchronized with a public NTP source, which is 
>>> synchronized with an atomic clock that provides leap second info, and
>>> I am watching carefully, what will happen when the leap second hits?  Will
>>> my system suddenly find its clock off by 1 second and slowly drift to
>>> the accurate time provided by the NTP server?
>
>>That depends on what kind of system it is.
>>Carefully designed systems will do the right thing.
>
> I was wondering if there was a predefined "right thing" used by ntpd for
> dealing with leap seconds.
>

The "right thing" is for ntpd to send the leapsecond flag to the kernel
and let it take care of it. If the kernel is incapable, then as you have
seen there is a bunch of of proposals as to how ntpd should behave. 

> The system I am thinking about (OpenVMS) is probably unfamiliar with 
> others here.  It uses Unix code (ntp 4.2.something) as a base for its NTP
> server.
>
> Internally, its clock is based on the number of nanoseconds since a base
> date.  It is impossible for it to represent an internal time of 23:59:60.
> Conversion of such a time from ascii to the internal format will result in
> an error.

Maybe. But that is a problem in the conversion code, not in the system.
Most systems, and this seems no exception, have the internal stuff in
seconds. Any conversion to human time (hours days, months,...) is
handled by higher level routines. Those higher level routines can also
have bugs. 

So, there are a bunch of proposals. stop the clock a la Mills
(delivering times that always increase but very very slowly during that
second). 
double the rate of the clock during the two seconds around the leap. 
Have the clock run in TAI and put the leapsecond handling into the
conversion code. 
Make the clock run faster, but not twice as fast, during a period around
the leap second. Are any of these the right thing? 



More information about the questions mailing list