CEESGL and the termination imminent step

You can signal T_I_U and T_I_S directly with the CEESGL callable service. Two reasons you might need to do this are:
  • To force the driving of a FINISH ON-unit or similar construct that would perform clean-up activities
  • To test a PL/I ON-unit or user-written condition handler that you have designed to handle T_I_U or T_I_S

If you signal T_I_U or T_I_S by calling CEESGL with the feedback code parameter, the following occurs:

  1. Language Environment visits each stack frame on the stack, beginning with the stack frame in which the condition was signaled, and progressing towards older stack frames. At each stack frame, HLL and user-written condition handlers are given a chance to handle the condition.

    T_I_U and T_I_S both map to the PL/I FINISH condition. Therefore, an established PL/I FINISH ON-unit can be invoked to handle the condition.

  2. If all stack frames have been visited, and the condition remains unhandled, or a FINISH ON-unit has processed the condition and returned, Language Environment returns the CEE069 condition token to the routine that called CEESGL, and processing resumes at the next sequential instruction.