Table 1 indicates that for severity 4 conditions
signaled by CEESGL, and for severity 2 and above conditions that remain
unhandled after all condition handlers have had a chance to handle
them, Language Environment promotes the unhandled condition to T_I_U. See z/OS Language Environment Programming Reference for
a discussion of CEESGL. T_I_U is a severity 3 condition with the representation
shown in Table 1:
Table 1. T_I_U condition
representationSymbolic feedback code (fc) |
Severity |
Message number |
Message text |
CEE066 |
3 |
0198 |
Termination of a thread was signaled. |
After promoting the condition to T_I_U, Language Environment does the following:
- Language Environment revisits each stack frame on the stack, beginning with the
stack frame in which the condition occurred, and progressing towards
earlier stack frames. At each stack frame, HLL and user-written condition
handlers are given a chance to handle the condition.
The T_I_U
condition maps to the PL/I FINISH condition. Therefore, an established PL/I FINISH
ON-unit or registered user-written condition handler can be invoked
to handle the condition. After the ON-unit or condition handler completes
its processing, the termination activities described in Step 3 take
place.
- If, during the course of condition handling, the resume cursor
is moved and a resume is requested by a condition handler, execution
resumes at the instruction pointed to by the resume cursor. If a resume
is requested for the T_I_U condition without moving the resume cursor,
the thread terminates immediately with no clean-up. See z/OS Language Environment Programming Reference for
a discussion of the CEEMRCR service.
- If all stack frames have been visited, and the condition remains
unhandled, or a FINISH ON-unit or user-written condition handler has
processed the condition and returned, Language Environment performs the following
termination activities:
- Sets the reason and return codes. The return code value is based
on the severity of the original unhandled condition, not on the T_I_U
condition (which is a severity 3).
- Issues a message for the condition.
- Prints a traceback and dump depending on the setting of the TERMTHDACT
runtime option (see z/OS Language Environment Programming Reference for syntax)
- Terminates the thread.
In this release of Language Environment, multithreading is supported only
in a POSIX(ON) environment. Unless your application is doing multithreading,
therefore, when a thread terminates, the entire enclave terminates.