DIRECTORY IFSFilePrivate USING [IORequest, IORequestBlock]; IFSFileImplD: MONITOR EXPORTS IFSFilePrivate = BEGIN OPEN IFSFilePrivate; freeList: IORequest; InitializeFreeList: PUBLIC PROC = { freeList _ NIL; }; FinalizeFreeList: PUBLIC PROC = { UNTIL freeList = NIL DO request: IORequest _ freeList; freeList _ freeList.link; request.link _ NIL; ENDLOOP; }; GetIORequestBlock: PUBLIC ENTRY PROC RETURNS [request: IORequest] = { IF freeList ~= NIL THEN {request _ freeList; freeList _ request.link} ELSE request _ NEW[IORequestBlock]; }; FreeIORequestBlock: PUBLIC ENTRY PROC [request: IORequest] = { request.link _ freeList; freeList _ request; }; END. ΤIFSFileImplD.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Levin - 30-Jun-81 17:29:53 Russ Atkinson, March 7, 1985 2:20:32 pm PST Global Variables Procedures exported to IFSFilePrivate Κƒ˜codešœ™Kšœ Οmœ1™K˜,Kšžœ˜K˜—Kšžœ˜K˜K˜——…—œσ