[LEAPSECS] LEAPSECS Digest, Vol 45, Issue 1

Michael Sokolov msokolov at ivan.Harhan.ORG
Fri Sep 3 16:24:16 EDT 2010

Ian Batten <igb at batten.eu.org> wrote:

> I have a dim memory, based on wrestling with one of the *BSD's NTP

> implementation in the mid 1990s, that one Unix decided to tick TAI

> rather than UTC and move leap-seconds into userspace. But it's all

> very dim...

Olson's tz implementation did that at an early point in its history.
Timeline of its adoption in BSD-land:

* 4.3BSD-Tahoe had one of the earliest versions of the tz library which
did not concern itself with such things. (I.e., it still ran on a
vague "GMT" rather than anything more precisely defined like UTC or
TAI.) That's what my current 4.3BSD-Quasijarus systems have, although
I don't really use the tz part of it: I always run everything with
"localtime" set to GMT (like in the headers of this E-mail).

* By 4.4BSD time the Olson library had developed the infamous "posix"
and "right" files. 4.4BSD shipped with the "right" config by default,
so indeed it attempted to run the kernel on TAI and do the leap
seconds in userland. The problem with that approach is that if the
user/sysadmin never updates the leap second table (e.g., ignorant of
its existence) and sets the system time from a wall clock via the date
command, the resutling kernel time will be something in between TAI
and UTC, more like UTC shifted by some constant offset corresponding
to the # of leap seconds at the time of the OS release.

* From what I understand the 4.4BSD-derived <Prefix>BSD systems have
switched to using the "posix" versions of the Olson tz files.


More information about the LEAPSECS mailing list