[Info-vax] yet another sys$qiow question
David Froble
davef at tsoft-inc.com
Thu Aug 20 01:10:59 EDT 2015
Stephen Hoffman wrote:
> 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.
>
>
>
Having read the fine manual, that's how I've understood things work. I always
check the queuing of an operation, and upon completion, I usually use ASTs, I
then look at the IOSB, and finally the result of the operation.
Reading this thread has caused some confusion ....
More information about the Info-vax
mailing list