Using Mailboxes

Logical Records for Mailboxes
Mailbox Deviceparameter Summary
Mailbox Examples

A mailbox is a VMS facility that uses shared system memory to pass messages from one process to another. Because they use shared memory, mailboxes can only be used for communication between process on the same computer. They cannot be used to pass messages between machines in a VMSCluster. A GT.M image can use mailboxes to communicate with any process on the same system, including non-GT.M processes. Mailbox device names have the format MBA<number>:. VMS creates mailboxes with associated logical names, which translates to the device name. When GT.M creates a mailbox, it uses the device name argument of the OPEN command and creates a logical name that translates to the mailbox specification. Because of VMS conventions, logical names for mailboxes are not case sensitive and cannot have a leading undescore(_).

[Note]

If the OPEN specifies a device name in the form MBA<number>:, and the mailbox does not exist, OPEN creates a new mailbox and uses the OPEN argument to create a logical name translating to the new mailbox.

VMS provides permanent and temporary mailboxes, requiring respectively the PRMMBX and TMPMBX priviliges for creation. Because, by default, permanent mailbox names are translated in the SYSTEM logical name table, their creation also nornamlly requires the SYSNAM privilege. To allow the possibility of using temporary mailboxes for inter-job communication, GT.M uses the GROUP logical name table to translate temporary mailbox names, and so requires the GRPNAM privilege to create temporary mailboxes.

Accessing an existing mailbox does not require any VMS privileges. The system manager typically creates permanent mailboxes, usually at system startup. Therefore, permanent mailboxes serve to limit the number of accounts requiring VMS privileges. The last process to CLOSE a temporary mailbox deletes it. Using temporary mailboxes for short infrequent communications tends to conserve system memory. Because VMS uses temporary mailboxes primarily for communication between subprocesses of a single job, VMS uses the JOB table as the VMS default lofical name table for translating mailbox names.

GT.M ignores all deviceparameters on an OPEN command issued for an already open mailbox.