Re: [LEAPSECS] building consensus

From: M. Warner Losh <imp_at_BSDIMP.COM>
Date: Mon, 05 Jun 2006 08:13:16 -0600 (MDT)

In message: <20060605060827.GE21857_at_ccil.org>
            John Cowan <cowan_at_ccil.org> writes:
: M. Warner Losh scripsit:
:
: > : The designers of Posix time thought it was more important to preserve
: > : the property that dividing the difference between two time_t values
: > : by 60, 3600, 86400 would give minutes, hours, days.
: >
: > That's the one property that Posix time_t does not have. The
: > difference between time_t's that cross a leap second are off by one
: > second, and therefore do not start with the right answer to do the
: > division...
:
: I expressed myself badly. My point is that if you have a Posix time_t
: representing 11:22:33 UTC on a certain day, and you add 86400 to that
: time_t, you will get the Posix representation of 11:22:33 UTC on the
: following day, whether a leap second intervenes or not. This is a valuable
: property, many existing programs depended on it, and the authors of the
: Posix spec preserved it at the expense of having a distinct representation
: for each UTC second.

Yes. To find a second absolute time that represents the same wall
time a minute/hour/day later is why posix time_t has this property.
This is abstime + delta, which is a little different than the
difference between two time_t.

: You may call this position wrong (and I have done so), but it is
: unquestionably defensible.

Differences in time_t are adjusted by leapseconds. This makes naive
math work for the ABSTIME+delta case, but breaks the difference case
when you want an actual elapased time. It is an engineering tradeoff,
but an inconvenient one for the problem domains that I tend to have to
solve.

Warner
Received on Mon Jun 05 2006 - 07:14:20 PDT

This archive was generated by hypermail 2.3.0 : Sat Sep 04 2010 - 09:44:55 PDT