(FILECREATED " 6-Dec-85 16:43:41" {ERIS}<PROLOGCORE>SOURCES>MONITOR.;5 2567   

      changes to:  (VARS MONITORCOMS)
		   (FNS CHECKARRAYS)

      previous date: " 4-Dec-85 17:25:37" {ERIS}<PROLOGCORE>SOURCES>MONITOR.;4)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT MONITORCOMS)

(RPAQQ MONITORCOMS ((FNS LOCKED? LOCKEDARRAY? MONITOR.TABLES CHECKARRAYS)))
(DEFINEQ

(LOCKED?
  [LAMBDA (PTR)                                              (* edited: " 3-Dec-85 13:55")
    (\LOCKEDPAGEP (IPLUS (ITIMES (\HILOC PTR)
				       256)
			     (IQUOTIENT (\LOLOC PTR)
					  256])

(LOCKEDARRAY?
  [LAMBDA (ARRAY)                                          (* hdj " 4-Dec-85 12:27")
    (LOCKED? (\GETBASEPTR ARRAY 0])

(MONITOR.TABLES
  [LAMBDA (STREAM VERBOSE)                                   (* edited: " 3-Dec-85 14:38")
    (PROG [(EBOD (\GETBASEPTR PROLOG.ENABLE.PUFN.TABLE 0))
	     (PBOD (\GETBASEPTR PROLOG.PUFN.TABLE 0))
	     (OLD.REAL.EBOD (\LOLOC (ReadPrologPtr LMBase)))
	     (OLD.REAL.PBOD (\LOLOC (ReadPrologPtr PUfnTableBase]
	    (do (BLOCK)
		  (if (LOCKED? EBOD)
		      then (if VERBOSE
				 then (PRINTOUT STREAM "EBOD IS LOCKED" T))
		    else (PRINTOUT STREAM "EBOD IS UNLOCKED!" T)
			   (RAID "EBOD IS UNLOCKED!" EBOD))
		  (if (LOCKED? PBOD)
		      then (if VERBOSE
				 then (PRINTOUT STREAM "EBOD IS LOCKED" T))
		    else (PRINTOUT STREAM "EBOD IS UNLOCKED!" T)
			   (RAID "EBOD IS UNLOCKED!" PBOD))
                                                             (* ORDER OF EVALUATION OF EQ'S ARGS IS IMPORTANT HERE)
		  (if [EQ OLD.REAL.EBOD (SETQ OLD.REAL.EBOD (\LOLOC (ReadPrologPtr LMBase]
		      then (if VERBOSE
				 then (PRINTOUT STREAM "EBOD REAL PAGE UNCHANGED" T))
		    else (PRINTOUT STREAM "EBOD REAL PAGE CHANGED!" T)
			   (RAID))
		  (if [EQ OLD.REAL.PBOD (SETQ OLD.REAL.PBOD (\LOLOC (ReadPrologPtr 
										    PUfnTableBase]
		      then (if VERBOSE
				 then (PRINTOUT STREAM "PBOD REAL PAGE UNCHANGED" T))
		    else (PRINTOUT STREAM "PBOD REAL PAGE CHANGED!" T)
			   (RAID])

(CHECKARRAYS
  [LAMBDA NIL                                                (* edited: " 6-Dec-85 16:42")
    (RESETVAR ARRAYBLOCKCHECKING T (\PARSEARRAYSPACE])
)
(PUTPROPS MONITOR COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (407 2489 (LOCKED? 417 . 655) (LOCKEDARRAY? 657 . 811) (MONITOR.TABLES 813 . 2311) (
CHECKARRAYS 2313 . 2487)))))
STOP