Signal setup when linking to callable services

When a task invokes the first z/OS UNIX call, the address space (if needed) and task are set up for z/OS UNIX callable services. Setting up for z/OS UNIX callable services is known as dubbing the address space and dubbing the task. When an address space is dubbed, a new process is created and assigned a unique process ID.

A dubbed task is a thread that is assigned an 8-character thread ID. This thread ID is unique within the process. Threads in different processes could have the same thread ID. When the first z/OS UNIX call is made and the task is dubbed, the current program request block (PRB) that dubbed the task is also recorded. This not only dubs the task, but also sets it up for signals.

Figure 1 shows the flows for the various signal functions when a synchronous signal SIGPIPE is generated with the kill service.

Figure 1. Program flow of mvssigsetup and sigaction with signal interface routine (SIR)
In the kernel, signal information is gathered for user A and then passed to the SIR where the information is mapped by the BPXYPPSD macro.

For more information about the setup and use of SIRs, see mvssigsetup (BPX1MSS, BPX4MSS) — Set up MVS signals. For more information about signal catchers, see sigaction (BPX1SIA, BPX4SIA) — Examine or change a signal action.