HP 3000 Manuals

Testing Mailbox Status [ Interprocess Communication:Programmer's Guide ] MPE/iX 5.0 Documentation


Interprocess Communication:Programmer's Guide

Testing Mailbox Status 

A process can determine the status of the mailbox used by its parent or
child with the MAIL intrinsic.  If the mailbox contains mail that is
awaiting collection by this process, the length of the message (in
halfwords) is returned to the calling process.  This enables the calling
process to initialize its stack in preparation for receipt of the
message.

For example, to test the status of the mailbox associated with one of its
child processes, a process could use the following intrinsic call:

     STATCOUNT:=MAIL(CHILDPIN,MCOUNT);

CHILDPIN contains the Process Identification Number (PIN) of the child
process.  An integer count signifying the length, in words, of the
incoming message will be returned to the word MCOUNT. The status returned
to STATCOUNT will be one of the following values:

Status           Meaning 

0                The mailbox is empty.

1                The mailbox contains previous outgoing mail from this
                 calling process that has not yet been collected by the
                 destination process.

2                The mailbox contains incoming mail awaiting collection
                 by this calling process.  The length of the mail is
                 returned in MCOUNT.

3                An error occurred because an invalid PIN was specified
                 or a bounds check failed.

4                The mailbox is temporarily inaccessible because other
                 intrinsics are using it to prepare or analyze mail.


MPE/iX 5.0 Documentation