DIRECTORY ViewerErrors; ViewerErrorsImpl: CEDAR MONITOR EXPORTS ViewerErrors ~ BEGIN OPEN ViewerErrors; RegistrationPair: TYPE = RECORD [signalOrError: SIGANY, handle: PreCatchProc]; registrations: LIST OF RegistrationPair ¬ NIL; Register: PUBLIC ENTRY PROC [signalOrError: SIGANY, handle: PreCatchProc] = { registrations ¬ CONS[[signalOrError, handle], registrations]; }; Query: PUBLIC PROC [signalOrError: SIGANY] RETURNS [continue: BOOL ¬ FALSE] = { FOR l: LIST OF RegistrationPair ¬ registrations, l.rest WHILE l#NIL DO IF l.first.signalOrError=signalOrError THEN RETURN [l.first.handle[signalOrError]] ENDLOOP }; END. Œ ViewerErrorsImpl.mesa Copyright Σ 1991 by Xerox Corporation. All rights reserved. Christian Jacobi, September 5, 1991 11:51 am PDT ΚR•NewlineDelimiter –(cedarcode) style™codešœ™Kšœ Οeœ1™