On BS2000 systems it is possible to define STXIT routines for certain events (e.g. address errors, program end). These routines are activated by the operating system (not by openUTM) if one of the specified events occurs (see the BS2000 manual "Executive Macros").
openUTM provides STXIT routines of its own which are opened before the START exit is called. Exception: TIMER/RTIMER, which are opened immediately after the START exit and are used by openUTM to check the program unit runtime (see the TIME parameter for the TAC statement).
You can define your own parallel STXIT routines which are then activated in addition to the ones defined by openUTM. If you specify the start parameter STXIT=OFF, only those STXIT routines that you have defined are activated (UTM STXIT routines are not activated). The latter is only possible if the application was started in the dialog.
The STXIT routines that you have created are always activated before the UTM STXIT routines (with the exception of RUNOUT).
The STXIT routines that you have created must be terminated with EXIT CONTINU=YES. Otherwise, openUTM cannot guarantee that errors will be handled correctly (e.g. PEND ER in certain situations). The openUTM STXIT routines are terminated with EXIT CONTINU=NO.
Please note that no timer functions such as the C library function alarm() or the macro SETIC (Set interval timer) may be used in the application program, at least not if the respective timer has been generated for the current TAC (KDCDEF generation TAC TIME={time1 | (time1,time2)}).