How conditions arising in child enclaves are handled
If a Language Environment or CEEBXITA-initiated (generated by setting the CEEAUE_ABND field of CEEBXITA) abend occurs in a child enclave that contains a fetchable main, the entire process is terminated.
Depending on what the settings of the TRAP runtime option are in
the parent and child enclave, the following might cause the child
enclave to terminate:
- Unhandled user abend
- Unhandled program check
Table 1 describes the unhandled condition behavior in a child enclave.
Condition | Parent enclave TRAP(ON) Child enclave TRAP(ON) |
Parent enclave TRAP(ON) Child enclave TRAP(OFF) |
Parent enclave TRAP(OFF) Child enclave TRAP(ON) |
Parent enclave TRAP(OFF) Child enclave TRAP(OFF) |
---|---|---|---|---|
Unhandled condition severity 0 or 1 | Resume child enclave | Resume child enclave | Resume child enclave | Resume child enclave |
Unhandled condition severity 2 or above | Resume parent enclave, and ignore condition | Resume parent enclave, and ignore condition | Resume parent enclave, and ignore condition | Resume parent enclave, and ignore condition |
Non-Language Environment abend | Resume parent enclave, and ignore condition | Process terminated with original abend code | Resume parent enclave, and ignore condition | Process terminated with original abend code |
Program check | Resume parent enclave, and ignore condition | Process terminated with abend U4036, Reason code=2 | Resume parent enclave, and ignore condition | Process terminated with abend S0Cx |