info-vax@ucbvax.ARPA (07/13/85)
From: GKN%OAK.SAINET.MFENET@LLL-MFE.ARPA Hard (if not impossible) to do without being in the context of the process involved, since the CCBs live in P1 space and there is a pending I/O count through a channel that EXE$CANCEL and friends insist on decrementing. If you don't mind the pending I/O count through another process' channel being wrong (and I don't think that this is a good idea; it'll prevent the process from being deleted) then you could get brave and remove the IRP from the UCB's I/O queue and stick it on the I/O post processing queue. But this is also nasty because some device drivers like to know when an I/O request gets cancelled even if it hasn't been started yet. It's still best to queue a special kernel AST to the process in question to clobber the I/O request. gkn ------------------------------------------ Arpa: GKN%OAK.SAInet@LLL-MFE USPS: Gerard K. Newman Science Applications International 800 Oak Ridge Turnpike Oak Ridge, TN 37830 AT&T: (615) 482-9031