Stop semantics

When one of the following is issued within the preinitialized environment for subroutines:
  • C exit(), abort(), or signal handling function specifying a normal or abnormal termination
  • COBOL STOP RUN statement
  • PL/I STOP or EXIT

or when an unhandled condition causes termination of the (only) thread, the logical enclave is terminated. The process level of the environment is retained. Language Environment does not delete those entries that were loaded explicitly by Language Environment during the preinitialization processing.

Attention: If the first entry in the PreInit table is either different or deleted from when the enclave was last initialized, the assembler user exit (CEEBXITA), HLL user exit (CEEBINT), or programmer default runtime options (CEEUOPT) used during either an enclave reinitialization or enclave termination will either be different or not available. This will result in unpredictable results. Therefore, when using PreInit subroutine environments and in order to keep consistent enclave initialization and termination behavior, users need to ensure the first valid entry in the PreInit table does not change, especially when it contains the aforementioned external references.