Previous: , Up: Trap Library   [Index]


7.25.5 Trap Library Error Reporting Redirection

The trap library error trappers do not necessarily arrest error reporting, though that is possibly with support from the application. Special error reporting suppressing interfaces are generated upon request.

To be able to redirect error reports, the trap library objects need to replace or overwrite the in use error reporter.

See Error Reporter Construct.

However, its definition is recorded by the many libaime library objects and other executive objects and replacing all the copies they hold is not sensible.

See struct x1f4_track_type.

For that reason and in order to make the error reporter overwritable, the application must present the executive objects with a proxy error reported definition, one that instead reporting the present errors would defer the task to the actual error reported. The proxy would know the latter by the address stored at a known location (a double indirection).

The trap library error redirecting interfaces would know the location too, and when error reports are to be redirected they will store at it the address of another error reporter, one that will do the redirection proper.