Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!njin!princeton!udel!mmdf From: jnall%FSU.BITNET@cornellc.cit.cornell.edu (John Nall 904-644-5241) Newsgroups: comp.os.minix Subject: Re: Re: Gettin' there with Evans stuff... Message-ID: <17671@louie.udel.EDU> Date: 15 Jun 89 00:09:20 GMT Sender: mmdf@udel.EDU Lines: 26 I wrote: >> (1) If I put /usr/bin `readclock` > it locks the system up tight.... Bruce Evans replied: > Did you recompile readclock? Yes, I did recompile readclock, with the readclock.c.cd changes in it. The problem (on my system, anyway) turns out to be the following: Almost the first statement in main() of readclock has a statement of the form if(peek(CPU_TYPE_SEGMENT, CPU_TYPE,OFFSET) != PC_AT), and if the statement is true (it does not pull FC from location 0xffffe) then it outputs a -q and does an exit(1). Unfortunately, the routine peek returns an integer (not unsigned) and the FC becomes FFFC, which does not compare with PC_AT (defined as 0xFC). If this happens when the statement is as given in my original comment, it locks the system up. If one does a "readclock" later on, however, it just outputs the -q and runs OK. So there is something sinister in having it happen in /etc/rc. I leave that to others of greater talent and curiousity. It is easily cured by making the statement: if ( (unsigned) peek(CPU_TYPE_SEGMENT, CPU_TYPE_OFFSET) != PC_AT) John Nall