Markus Kuhn scripsit:
> Fact 1 is that there is a *lot* of Unix code out there that depends on
> 1 day being represented by a 86400 increment in time_t, and that is what
> POSIX.1:2001 now explicitely requires the system to provide.
In short, Posix has blessed what was always bad practice (viz. manipulating
time_t directly).
> Fact 2 is that the old 1980s pre-POSIX Unix manuals talked about GMT and
> not UTC. This strongly suggests that the authors were unfamiliar with
> both TAI and UTC. The "seconds" they refer to behave more like UT1
> seconds than like TAI/SI seconds, i.e. they are Earth rotation angles
> and not Caesium oscillations.
Where do you see any reference in the old documentation to the rotation of
the Earth? The authors of those man pages were engineers, and they knew
perfectly well what a second was and is (since 1967), and they certainly
knew the difference between measuring/counting and encoding.
> There are in the long run as many UT1
> seconds as there are UTC-non-leap seconds. The authors of Unix also
> assumed that local civilian time zones and GMT differ only by an integer
> number of minutes (see struct timezone in man gettimeofday(2)).
The second argument to gettimeofday(2) is a Berserkeley hack that doesn't
and never did belong in the kernel, and doesn't even do anything in Linux,
Solaris, or modern BSDs. It was introduced in 4.2BSD and already dead
in NET/2. All other kernels, rightly, know nothing of time zones.
> I rest my case.
So do I: and the rest is silence.
--
John Cowan jcowan_at_reutershealth.com
http://www.ccil.org/~cowan http://www.reutershealth.com
Thor Heyerdahl recounts his attempt to prove Rudyard Kipling's theory
that the mongoose first came to India on a raft from Polynesia.
--blurb for _Rikki-Kon-Tiki-Tavi_
Received on Thu Jan 30 2003 - 09:53:43 PST