|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2414 (0x96e)
Types: TextFile
Names: »IMPORT.I«
└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V0201.D!PASCAL.D!IMPORT.I«
└─⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V02CT.D!PASCAL.D!IMPORT.I«
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V0201.D!PASCAL.D!IMPORT.I«
└─⟦this⟧ »PREFIXES.D!XAMOS.D!COND_HDL.D!V02CT.D!PASCAL.D!IMPORT.I«
%IMPORT: EXCEPTION_TRAP
PROCEDURE EXCEPTION_TRAP ( MASK : LOCAL_ACTION_MASK;
VAR EXCEPTION_OCCURED : BOOLEAN;
VAR OCCURED_EXCEPTION : LOCAL_ACTION );
EXTERN;
"
DESCRIPTION:
------------
This module allows the user to have his own exception_handler,
so that local actions will not necessarily terminate the process.
The protection is established by calling the above procedure.
The 'MASK' specifies which local actions the protection will apply to.
However the mask is ANDed with a 'SYSTEM PROTECT MASK', currently
#001E, before being used. ( This ensures that one process does not
monopolize the CPU by protecting itself against TIMER actions. )
When returning from the call, the parameter 'EXCEPTION_OCCURED'
will be FALSE.
If - after the protecting has been established - a local action
occurs, one of the following two things happen:
If the action is not in the protect_mask, or the routine in
which it occurs can not be unwinded to the establishing routine
( either because R6 has been tampered with in a non-PASCAL routine,
or because the offending routine is not dynamical descendant of the
establisher ), then the action is passed to the kernel, ie. the
process terminates ( or - for TIMER action - scheduling is invoked ).
If the action is in the protect mask and the current routine can
be unwinded to the establishing routine, the execution continues
in the establishing routine as if we has just returned from the
call to 'EXCEPTION_TRAP'. The value of the return parameters are:
EXCEPTION_OCCURED = TRUE
OCCURED_EXCEPTION = the exception that has occured
Remarks:
* If more than one call of 'EXCEPTION_TRAP' is made only
the last one is valid, at any time.
* The exception handling should not be established inside
WITH statements, which are not active at the time the
exception may occur.
* The current version will never be able to unwind if the
action is a TIMEOUT generated by the PASCAL copy routine.
This is because R6 is not intact at the time the exception
occurs.
* This module can NOT be used as part of SHARED code
( However processes using shared code CAN include
this link module ).
"