Specifications

Operating System Routines
COM$FLUSHATTNS
COM$FLUSHATTNS
Flushes an attention AST list.
Module
COMDRVSUB
Input
Location Contents
R4 Address of PCB
R5 Address of UCB
R6 Number of the assigned I/O channel
R7 Address of listhead of AST control blocks
UCB$L_DLCK Address of device lock
PCB$L_PID Process ID
PCB$W_ASTCNT ASTs remaining in quota
Output
Location Contents
R0 SS$_NORMAL
R1, R2, R7 Destroyed
PCB$W_ASTCNT Incremented by the number of AST control blocks
that are flushed
Specified listhead Updated
Synchronization
COM$FLUSHATTNS raises IPL to device IPL, acquiring the corresponding
device lock. Before returning control to its caller at the caller’s IPL,
COM$FLUSHATTNS releases the device lock. The caller retains any spinlocks it
held at the time of the call.
Description
A driver’s cancel-I/O routine calls COM$FLUSHATTNS to flush an attention AST
list. A driver FDT routine calls COM$FLUSHATTNS to service a $QIO request
that specifies a set-attention-AST function and a value of 0 in the p1 argument.
COM$FLUSHATTNS locates all AST control blocks whose channel number and
PID match those supplied as input to the routine. It removes them from the
specified list, deallocates them, and returns control to its caller.
3–6