DIRECTORY Basics USING [LongNumber], PrincOps USING [PsbIndex], Real USING [Exception, ExceptionFlags, Extended]; RealExceptions: CEDAR DEFINITIONS = BEGIN FlagsArray: TYPE = ARRAY PrincOps.PsbIndex OF CombinedFlags; CombinedFlags: TYPE = RECORD [ sticky: Real.ExceptionFlags, exceptions: Real.ExceptionFlags ]; Init: UNSAFE PROC [lp: LONG POINTER TO FlagsArray]; ClearExceptions: PROC; ClearSticky: PROC; ClearCombined: PROC; SetCombined: PROC [flags: CombinedFlags]; SetException: PROC [which: Real.Exception]; SetSticky: PROC [which: Real.Exception]; TestException: PROC [which: Real.Exception] RETURNS [BOOL]; TestSticky: PROC [which: Real.Exception] RETURNS [BOOL]; GetExceptions: PROC RETURNS [Real.ExceptionFlags]; GetSticky: PROC RETURNS [Real.ExceptionFlags]; GetCombined: PROC RETURNS [CombinedFlags]; RaiseException: PROC [ext: Real.Extended] RETURNS [clientFixup: BOOL, fraction: Basics.LongNumber]; END. ¬RealExceptions.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Russ Atkinson (RRA) May 22, 1985 12:50:27 pm PDT Must be called to enable multi-process REAL exception handling. Clear the exceptions for the current process Clear the sticky bits for the current process Clear the exceptions & sticky bits for the current process Sets the exception bits & sticky bits for the current process Sets a given exception for the current process Sets a given sticky bit for the current process Tests a particular exception for the current process Tests a particular sticky bit for the current process Samples the exceptions for the current process Samples the sticky bits for the current process Samples the exceptions & sticky bits for the current process Raises Real.RealException with the current exception flags and the given extended number. Returns whatever the client directed if the client RESUMEs the signal. Κ#˜codešœ™Kšœ Οmœ1™