The queue_interrupt callable service returns to the kernel the last interrupt that was delivered to the signal interface routine (SIR). The interrupt can be a signal, a cancelation request, or a quiesce request.
Operation | Environment |
---|---|
Authorization: | Supervisor state or problem state, any PSW key |
Dispatchable unit mode: | Task |
Cross memory mode: | PASN = HASN |
AMODE (BPXB1SPB): | 31-bit |
AMODE (BPX4SPB): | 64-bit |
ASC mode: | Primary address space control (ASC) mode |
Interrupt status: | Enabled for interrupts |
Locks: | Unlocked |
Control parameters: | All parameters must be addressable by the caller and in the primary address space. |
|
AMODE 64 callers use BPX4SPB with the same parameters.
The name of a fullword to which the queue_interrupt service returns 0 if it has permission to return the specified interrupt for delivery at the next kernel call. If no interrupt is returned, -1 is returned.
Return_code | Explanation |
---|---|
EINVAL | The value of Signal in the PPSD at the time this service was invoked was an unsupported signal. Either there was a storage overlay in the PPSD, or no signal was ever delivered to this task. |
EPERM | The caller does not have permission to return the interrupt now. All signals must be blocked, and the task must invoke mvssigsetup before the queue_interrupt service is invoked. The following reason codes can accompany the return code: JRSignalsNotBlocked and JRNotSigsetup. |
The name of a fullword in which the queue_interrupt service stores the reason code. The queue_interrupt service returns Reason_code only if Return_value is -1. Reason_code further qualifies the Return_code value. For the reason codes, see z/OS UNIX System Services Messages and Codes.
The intended use of the queue_interrupt service is from the signal interface routine that is specified on mvssigsetup (BPX1MSS, BPX4MSS) — Set up MVS signals. Although the queue_interrupt service can be used anywhere, all signals must be blocked, and the task must set up signals by invoking the mvssigsetup service before calling queue_interrupt. See The relationship of z/OS UNIX signals to callable services.
For an example using this callable service, see BPX1SPB (queue_interrupt) example.