From: CRDGW2::CRDGW2::MRGATE::"SMTP::CRVAX.SRI.COM::RELAY-INFO-VAX" 12-DEC-1989 10:38 To: MRGATE::"ARISIA::EVERHART" Subj: DCL "feature", MONMODE "bug", Life, etc... Message-Id: <8912121517.AA27766@crdgw1.ge.com> Received: From NSFNET-RELAY.AC.UK by CRVAX.SRI.COM with TCP; Tue, 12 DEC 89 06:47:18 PDT Received: from sun.nsfnet-relay.ac.uk by vax.NSFnet-Relay.AC.UK via Janet with NIFTP id aa09781; 12 Dec 89 14:30 GMT Date: Tue, 12 Dec 89 14:42 BST From: Nick de Smith <"PSI%JANET.000000000040::NICK%ncdlab.ulcc.ac.uk"@NSFnet-Relay.AC.UK> To: INFO-VAX <@NSFnet-Relay.AC.UK:INFO-VAX@crvax.sri.com> Subject: DCL "feature", MONMODE "bug", Life, etc... Hi, MONMODE.COM exposed a "software deficiency" in DCL under VMS prior to V5.2. Sigh :-< If you replace the lines of MONMODE from "$ 30$: ..." to "$ Goto END" inclusive with the attached code, it should work under VMS V5.0 and later. V5.2 users should not need to change anything. The enclosed code just removes one of the nested if-then-else statements. This "feature" of DCL seems to be connected with nested if-then-else statements on DCL prior to V5.2 only. I wrote MONMODE on a V5.2 system, and foolishly believed that it would work on V5.1 as the VMS base image addresses were the same. I never thought that DCL would break first :-) Note that the release notes for V5.2 say nothing about this problem being fixed. (sound fx, off stage, of nick getting onto his high horse...) I am not re-posting the whole thing in order to save bandwidth that might be better used for more productive things, like rabid attacks on someone else's OS/religion/cat/choice of necktie :->. Personally, I see very little difference between racisism/sexism and some of the astonishing bigotry that has been flying around on Info-VAX recently. As an observer of some of the recent exchanges, I was disturbed to see what I thought was a rational and well reasoned discussion surrounding a question of general relevance, degenerate into a (sometimes personal) mud-slinging match. Why? What purpose can it possibly serve except to bolster the already inflated egos of those involved? Rather than impress observers with the strength of the proponent's "argument", it casts serious doubt on the intellectual capacity and maturity of the participants. From here, Info-VAX was starting to sound distinctly like the proceedings of our own Parliament, and not for a zillion dollars would I spend 20 minutes a day reading that rubbish. (for 2 zillion? maybe...) Come on, people. Let's be reasonable out there. (If the above paragraph is boring and too late to be relevent, its probably because we are 1 week behind with Info-VAX in the UK right now (due to the MAIL forwarding list rubbish), and I'm *still* receiving OS-Wars drivel. Yawn, SEL NEWMAIL,DEL/ALL.) regards, ;-) nick \/\/\/\/\/\ Cut here /\/\/\/\/\/ $!++ Fix for MONMODE used on VMS PRIOR to V5.2 $ 30$: If CPU .le. Max_CPU_Number $ Then Say F$Fao( At + "CPU !UL", 4, 25 + CPU * 15, CPU ) ! Say which CPU we are looking at $ Say F$Fao( At + "!AS" , 5, 27 - F$Length( State_'CPU ) / 2 + CPU * 15, State_'CPU ) ! ...and the state $ Offset = 0 $ Total = 0 $ Tick_Mult = System_TICs - Last_System_TICs ! Ticks in last scan interval $ 40$: If Offset .gt. CPU_L_IDLE Then Goto 45$ ! While some data to display... $ Value = F$CvUI( Offset * 8, 32, Mode_Time_'CPU ) - F$CvUI( Offset * 8, 32, Last_Mode_Time_'CPU ) $ Value = ( Value * 10000 ) / Tick_Mult ! Make into a % * 100 $ If Value .lt. 0 Then Value = -Value ! Make into unsigned value! $ Say F$Fao( At + "!3UL.!2ZL %", 7 + Offset / 2, 23 + CPU * 15, Value / 100, Value - (Value/100)*100 ) $ Total = Total + Value ! Add up total %tage $ Offset = Offset + 4 ! Move to next counter in CPU data $ Goto 40$ $ 45$: Say F$Fao( At + "!3UL.!2ZL %", 7 + Offset / 2, 23 + CPU * 15, Total / 100, Total - (Total/100)*100 ) $ CPU = CPU + 1 ! Move to next CPU $ Goto 30$ $ EndIf $! $ Goto 20$ ! Go back to wait for next scan $ Goto END ! Never get here (play safe) $!-- End of fix