What causes termination
Under Language Environment,
an application terminates when any of the following conditions occur:
- The last thread in the enclave terminates (which in turn terminates the enclave).
- The main routine in the enclave returns to its caller; that is, an implicit STOP is performed.
- An HLL construct issues a request for the termination of an enclave,
for example:
- C's abort() function
- C's raise(SIGTERM) function
- C's _exit() function
- COBOL's STOP RUN statement
- COBOL's GOBACK statement in a main program
- Fortran's STOP statement
- Fortran's CALL SYSRCX, CALL EXIT, CALL DUMP, or CALL CDUMP statement
- PL/I's STOP or EXIT function
- A default POSIX signal is received, where the default is termination.
- An abend is requested by the application (that is, the application calls CEE3ABD or CEE3AB2).
- An unhandled condition of severity 2 or greater occurs. (See Termination behavior for unhandled conditions for information.)