[LEAPSECS] Bloomberg announced its smear

Warner Losh imp at bsdimp.com
Sat Sep 24 16:52:16 EDT 2016


On Sat, Sep 24, 2016 at 1:14 PM, Brooks Harris <brooks at edlmax.com> wrote:
> Fundamentally, the early implementations of POSIX and the many systems based
> on its heritage cannot represent "23:59:60" and so most systems are
> *indeterminate* at (or near) the Leap Second.

s/early/all/ here. POSIX defines time_t without leap seconds so you
cannot properly implement them in a standards conforming way. System
time is in UT<something-kinda-like-UT,but-not-really>, and there's any
number of kludges that can kinda make the kinda less kinda and more
UTC-like. Sadly, there's no standardization of the kludges people come
up with, which leads to many issues.

There are semi-standard APIs that can return additional information
that you can use to transform your POSIX time stamp into something
that you can unambiguously recover UTC from (well, actually, they
return a tuple with a time_t plus other meta data you need to
unambiguously make the transformation), but these APIs aren't widely
used, and often the meta-data stream you need to make them useful is
out of date because leap second knowledge has such a short
forward-looking time horizon.

Plus there's a lot of ignorance about what a leap second is, unlike a
leap day, that people don't even know they need to code for it or
allow for it to exist.

The standard is fundamentally broken and cannot be fixed without
breaking assumptions that run deep in much code. There's too many
programs that get them wrong, with a pervasive attitude of "it's just
a second, so who cares" that's hard to counter.

I tend to view smearing as a repudiation of the concept of leap
seconds. Let's do this kludge to keep the crazy world of nutty
software written by people that don't know or don't care about leap
seconds hobbling along at the expense of a bit of accuracy in time to
try to shoe-horn the POSIX time_t without leap seconds standard with
the reality of leap seconds. Better to not have them in the first
place, but that ship sailed 40 yaers ago.

Warner


More information about the LEAPSECS mailing list