[HECnet] SimH, Ultrix and DECnet

Johnny Billquist bqt at softjar.se
Thu Jun 28 12:13:53 PDT 2012


On 2012-06-28 12:09, Mark Benson wrote:
That's a UNIX tradition I think, lot of UNIXs I have used (IRIX,
Solaris, NetBSD to name a few) return the 'preposterous value in Time
if Day clock' or similar error if the date wrong. I think it's
triggered if the system date is prior to the kernel's   date :)

It is triggered by the setting of the todr at boot time. In principle, it picks the mtime of / to get a rough estimate of what time it is at boot time. It's done in inittodr, which is called from ufs_mount.
inittodr checks if the date is before 1975, and if it is, the it's preposterous.

So, a simple way to trigger this error message would be to just set the date to sometime in 1972, shut down the system, and then reboot.

The initial time for a booted system should thus always be just following the last time the machine was shut down. This is then updated by the todr, if it exists, and have a valid value. But since the todr only is a running time that covers about 1.5 years, it cannot really tell the full time. But assuming you got it almost right (within 6 months or so), todr can then adjust the rest.

The code in current NetBSD is i principle identical to Ultrix, so the same is probably still true for all modern Unixes (I don't know about Linux though).

	Johnny

-- 
Johnny Billquist                                   || "I'm on a bus
                                                                  ||   on a psychedelic trip
email: bqt at softjar.se                         ||   Reading murder books
pdp is alive!                                         ||   tryin' to stay hip" - B. Idol



More information about the Hecnet-list mailing list