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