Specifications
Operating System Routines
IOC$CANCELIO
IOC$CANCELIO
Conditionally marks a UCB so that its current I/O request will be canceled.
Module
IOSUBNPAG
Input
Location Contents
R2 Channel index number
R3 Address of IRP
R4 Address of current PCB
R5 Address of UCB
IRP$L_PID Process identification of the process that queued the
I/O request
IRP$W_CHAN I/O request channel index number
PCB$L_PID Process identification of the process that requested
cancellation
UCB$L_STS UCB$V_BSY set if device is busy, clear if device is
idle
Output
Location Contents
UCB$L_STS UCB$V_CANCEL set if the I/O request should be
canceled
Synchronization
IOC$CANCELIO executes at its caller’s IPL, obtains no spinlocks, and returns
control to its caller at the caller’s IPL. It is usually called by EXE$CANCEL (if
specified in the DDT as the driver’s cancel-I/O routine) at fork IPL, holding the
corresponding fork lock in a multiprocessing environment.
3–86