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:
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:
- 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.
- 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.