[Info-vax] QIO Writes to a mailbox

George Cornelius gcornelius at charter.net
Mon Nov 7 11:05:59 EST 2011


JF Mezei wrote:
> And if a mailbox is full, I know that QIOW will cause process to hang on
> a RWMBX, but would a QIO also result in this ?

Yes, a QIO hangs on a full mailbox - just checked it.  Quite irritating,
because even the debugger is blocked while in RWMBX.

Oh, and my idea of both buffers possibly being mapped into memory at the same
time before a transfer occurs is flawed. It's called 'buffered' I/O, after
all, and that means that (1) transfers go through nonpaged pool and (2) a
caller's buffer is not locked into physical memory while his I/O remains
active.

It is not clear to me what it is about a QIO to a full mailbox that should make
the entire process go unresponsive.  Mailboxes are already quite limited, so we
generally cannot work around a size issue by making the mailbox have more quota.
It would seem, then, that the least that could be done would be to invent a
modifier to allow the I/O to just remain queued until space became available,
realizing, of course, that interesting things could happen if such a pending
I/O were cancelled when there were others queued behind it.

George




More information about the Info-vax mailing list