Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84; site elsie.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!umcp-cs!cvl!elsie!ado
From: ado@elsie.UUCP (Arthur David Olson)
Newsgroups: net.unix-wizards,net.bugs
Subject: Comtal (other?) code breaking on Sat Sep 29 06:42:03 1984 GMT
Message-ID: <4007@elsie.UUCP>
Date: Wed, 3-Oct-84 15:57:59 EDT
Article-I.D.: elsie.4007
Posted: Wed Oct  3 15:57:59 1984
Date-Received: Fri, 5-Oct-84 06:13:19 EDT
Organization: NIH-LEC, Bethesda, MD
Lines: 42
Xref: godot net.unix-wizards:3011 net.bugs:228

What's magic about

	Sat Sep 29 06:42:03 1984 GMT

you're probably asking.  At that time, 465288123 seconds had passed since
00:00:00 GMT Jan. 1, 1970.  The number of sixtieths of a second that had
elapsed was

	2147483604

One second later, at least on thirty-two bit machines,
the number of sixtieths of a second that had elapsed was...

	-2147483632

So if you've got a home-brew device driver or some other software that
measures time in "hz" units and things broke down on Saturday the 29th,
you may want to take a close look at the code.

Of interest to folks using a Comtal 1/20 driver ("cl.c") is this change:

			spl7();
			between = hz * (time - sc->sc_last0time) +
				lbolt - sc->sc_last0lbolt;
	#ifdef OLDVERSION
			if (between < cl_between_hz) {
	#else
			if (between < cl_between_hz && sc->sc_last0time != 0) {
	#endif
				sc->sc_waittime = cl_between_hz - between;
				sleep((caddr_t) sc, CLPRI);
				spl0();
				continue;
			}
			spl0();

(Sorry about that, gang!)
--
UNIX and Bugs are AT&T Bell Laboratories and Warner Brothers trademarks
--
	..decvax!seismo!elsie!ado			(301) 496-5688
	DEC, VAX and Elsie are Digital Equipment and Borden trademarks