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