ESPIE or ESTAE and the SIGILL, SIGFPE, and SIGSEGV signals

High-level languages generate the SIGILL, SIGFPE, and SIGSEGV signals. In z/OS UNIX, the kill service is invoked to generate these signals. The ESPIE or ESTAE must also use the kill service to generate SIGILL, SIGFPE, and SIGSEGV. High-level languages can define an ESPIE or ESTAE routine to receive control after an incorrect hardware instruction, arithmetic operation, or memory reference.

Since z/OS UNIX does not generate or process the signals SIGILL, SIGFPE, and SIGSEGV, it is the responsibility of the high-level language's RTL to define what happens when a signal catcher is defined for these signals and the signal catcher returns to the failing instruction. For information on how the compiler defines what happens in this case, see z/OS XL C/C++ Programming Guide.

ESPIE or ESTAE routines in high-level languages must also invoke the ptrace service. For more information about the ptrace service see ptrace (BPX1PTR, BPX4PTR) — Control another process for debugging.