[Info-vax] QIO Writes to a mailbox
JF Mezei
jfmezei.spamnot at vaxination.ca
Sat Nov 5 00:09:22 EDT 2011
Steve Bainbridge wrote:
> As I said at the beginning of this thread the IOSB is never checked,
> so we don't know if and why the QIO completed OK - I am only trying to
> find reasons why it would not
If you look at the documentation for QIO, it should list the status
codes that can be issued by status = SYS$QIO(mumble)
If you look at the mailbox driver documentation, it should like possible
IOSB status codes. And this will give you a list of possible conditions
that cause problems for a write.
>From a timing point of view, perhaps Mr Vaxman could elaborate because
he eats, drinks and dreams about VMS drivers all day.
One question is whether it is possible to do
buffer = "line 1"
status = SYS$QIO (0,channel, IO$WRITEVBLK, &myiosb, 0,0, 6, buffer);
buffer = "line 2"
status = SYS$QIO (0,channel, IO$WRITEVBLK, &myiosb, 0,0, 6, buffer);
and have the first QIO end up writing "line 2" to the mailbox device (as
would the second QIO)
Since a mailbox is a memory device, the question becomes how much of the
work to write to the memory device gets done by a QIO, and how much gets
done after the QIO has exited and the driver does its stuff behind the
scenes to write to the mailbox).
If all the application does is WRITE to the mailbox, you should be able
to change QIO to QIOW and this will eliminate the possibility that "line
2" would be written to the mailbox by the first QIO.
More information about the Info-vax
mailing list