[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