High-level-language signal interfaces
In addition to the signal interface callable services that are
defined by POSIX, z/OS UNIX provides
the following signal interface services:
- mvssigsetup service
- Sets up and defines the signal interface routine (SIR). The SIR is a routine that is provided by the high-level language. For information about how to write the SIR and the interface to it, see mvssigsetup (BPX1MSS, BPX4MSS) — Set up MVS signals.
- mvsunsigsetup service
- Detaches the interface to the SIR and returns the parameters set up in mvssigsetup. See mvsunsigsetup (BPX1MSD, BPX4MSD) — Detach the signal setup.
- ptrace service
- Controls the running of another process for debugging programs. See ptrace (BPX1PTR, BPX4PTR) — Control another process for debugging.
- queue_interrupt service
- Returns the last signal delivered. See queue_interrupt (BPX1SPB, BPX4SPB) — Return the last interrupt delivered.
These interfaces allow a runtime library (RTL) for a high-level language to control the flow of signals. Each high-level language defines its own linkage interface between callable procedures; for example, the C language has a linkage stack and register interface between function procedures, which are unique to C.
Delivery of signals involves:
- Interrupting a currently running procedure
- Saving the status of the code that was interrupted
- Invoking a callable procedure known as the signal catcher, or signal handler.