Processing the T_I_S condition

The termination imminent step of condition handling can also be entered as the result of the T_I_S (Termination_Imminent due to STOP) condition being signaled. T_I_S is a severity 1 condition with the following representation:

Table 1. T_I_S condition representation
Symbolic feedback code (fc) Severity Message number Message text
CEE067 1 0199 Termination of a thread was signaled.
The T_I_S condition is raised by Language Environment immediately upon detection of a language STOP-like construct such as:
  • C/C++ exit() function
  • COBOL STOP RUN
  • Fortran STOP statement
  • Fortran END statement in a main program
  • PL/I EXIT statement
  • PL/I STOP statement

The HLL constructs listed above initiate termination activities for the enclave in two steps:

  1. Language Environment traverses the stack beginning at the stack frame for the routine containing the STOP-like statement and proceeds, stack frame by stack frame, towards earlier stack frames. User-written and HLL condition handlers at each stack frame are given a chance to handle the condition.

    T_I_S maps to the PL/I FINISH condition. Therefore, both established PL/I FINISH ON-units and user-written condition handlers can be invoked. After the ON-unit or condition handler completes its processing, the termination activities described in Step 2 take place.

  2. If all stack frames have been visited, and the condition remains unhandled, or an ON-unit or condition handler has processed the condition and returned, Language Environment:
    • Sets the reason and return codes
    • Terminates the thread

    Language Environment performs only one pass of the stack for STOP-like statements.