[Info-vax] yet another sys$qiow question

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Aug 19 19:49:50 EDT 2015


On 2015-08-19 23:30:37 +0000, David Froble said:

> 
> Ok, just so dumb me can understand, did you just write that before I'm 
> notified of the completion of a QIO, the IOSB has been updated and 
> ready to read?

Correct.  The following assumes that the $qio has been accepted by 
OpenVMS without error, and is performing the requested processing 
asynchronously.   Upon completion of the operation and while blocking 
user-mode activity, the I/O post-processing populates the IOSB if 
specified, then sets the event flag if specified, then triggers the 
completion AST if specified.  If data is to be returned by the 
particular $qio call, the data is loaded into the user-specified buffer 
sometime between when the $qio is queued and when the I/O completion 
post-processing is performed.   By the time your user-mode code is 
running whether as the AST or in response to the event flag, the IOSB 
is always valid, and any associated data is written from or to the 
user-specified buffer, if appropriate.   If the IOSB is still zero, 
then you're either sharing the IOSB across calls or have otherwise 
mis-allocated the IOSB storage, or you're sharing event flags, or other 
such coding mistake.



-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list