(FILECREATED "20-Jun-84 15:35:37" {ERIS}<LISPNEW>SOURCES>EVENTPATCH.;5 2707 changes to: (VARS EVENTPATCHCOMS) (FNS \DFSEventFn) previous date: "19-Jun-84 20:58:58" {ERIS}<LISPNEW>SOURCES>EVENTPATCH.;4) (* Copyright (c) 1984 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT EVENTPATCHCOMS) (RPAQQ EVENTPATCHCOMS [(* * change to eventfn to make multiple lisp images work right, return from sysout work right, etc.) (FNS \DFSEventFn) (* * This will cause \DFSReadVolumes to be set to NIL before exiting lisp) (P (pushnew \SYSTEMCACHEVARS (QUOTE \DFSReadVolumes]) (* * change to eventfn to make multiple lisp images work right, return from sysout work right, etc.) (DEFINEQ (\DFSEventFn [LAMBDA (Dev Event) (* hts: "20-Jun-84 15:30") (UNINTERRUPTABLY (SELECTQ Event [(AFTERLOGOUT AFTERSYSOUT AFTERMAKESYS AFTERSAVEVM) (FORGETPAGES (fetch DirectoryStream of Dev)) (\DFSVFMInit) (\DFSVAMInit) (PROG (LvNum) (* * if same machine & partitions, just reopen the directory file; else remove the device.) (if [AND (EQ (MACHINETYPE) (QUOTE DANDELION)) (EQUAL \DFSMachineId \MY.NSHOSTNUMBER) [SETQ LvNum (PROGN (OR \DFSReadVolumes (\DFSGetVolumeInfo)) (\DFSGetLvNum (MKSTRING (fetch (FDEV DEVICENAME) of Dev] (EQ DFSLispVolume (fetch (LogicalVolumeDescriptor type) of (LvPagePtr LvNum] then (replace (DLIONDISK DirectoryStream) of Dev with (\DFSOpenDirectory Dev)) else (replace (FDEV REOPENFILE) of Dev with (FUNCTION NILL)) (* ensure that no local files from another machine (or the same machine with changed logical volumes) will be reopened) (\REMOVEDEVICE Dev) (printout NIL "Device {" (fetch (FDEV DEVICENAME) of Dev) "} has disappeared." T) (SETQ \DFSInitialized NIL) (* Make the 1108 file system reinitialize itself) (if (NEQ (MACHINETYPE) (QUOTE DANDELION)) then (\OPENDISKDEVICE 0) (* Open mod44 disk)] (BEFORELOGOUT (\FLUSH.OPEN.STREAMS Dev)) NIL))]) ) (* * This will cause \DFSReadVolumes to be set to NIL before exiting lisp) (pushnew \SYSTEMCACHEVARS (QUOTE \DFSReadVolumes)) (PUTPROPS EVENTPATCH COPYRIGHT ("Xerox Corporation" 1984)) (DECLARE: DONTCOPY (FILEMAP (NIL (747 2494 (\DFSEventFn 757 . 2492))))) STOP