[Info-vax] Mailbox driver analysis regarding greater than 65535 messages in mailbox
Dave Froble
davef at tsoft-inc.com
Mon Nov 30 19:49:07 EST 2020
On 11/30/2020 6:29 PM, Robert A. Brooks wrote:
> For the most part, the mailbox driver does not base its behaviour on the
> value in UCB$W_MSGCNT, except for three of checks that will return an error
> upon a read request if the message count is zero and several other
> conditions are met.
>
> While it *might* be possible to promote UCB$W_MSGCNT to a longword (but
> only for V9), that would not
> be good enough to solve the complete problem because . . .
>
> In the I/O User's Guide, chapter 4 (the mailbox driver chapter),
>
> "DVI$_DEVDEPEND returns a longword field in which the two low-order
> bytes contain the number of messages in the mailbox.
> (The two high-order bytes are not used and should be ignored.)
> This information can also be obtained through the Get Mailbox
> Information function (see “Get Mailbox Information”)."
>
> In the "Get Mailbox Information" area, it states that the upper word of
> the first longword in the IOSB returns the number
> of messages in the mbx. (figure 4-11 in section 4.2)
>
> For that reason above, there would be no reasonable way to return a
> 32-bit value containing the message count
> without breaking a lot of stuff, given the existing size of the IOSB and
> the 16-bit region of the UCB$L_DEVDEPEND cell
> that's used to hold the message count.
>
> With minimal investigation (about an hour, which includes some email
> conversation), we suspect the proper way to deal with
> this is to return an error to a writer if the mailbox has 65535 messages
> and to document this limitation.
>
>
>
I'd tend to agree with that resolution.
I've never considered mailboxes to be used for an in memory (non-paged
pool even) database.
(Even though I've been known to call anything that stores data to be a
database.)
:-)
Thanks for looking into this.
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list