FORTRAN Reference Manual

Interprocess Communication
FORTRAN Reference Manual528615-001
14-4
Managing $RECEIVE
The FORTRAN run-time library checks each message it receives from a requester
process to determine if it has already received and replied to the message. If it
has, it locates the previously-sent reply and returns it again. Your FORTRAN
program is not aware of the retransmission.
MAXREPLY reply
reply specifies the maximum number of bytes in each reply message that your
program must save.
QDEPTH depth
depth specifies the maximum number of messages your program can read from
$RECEIVE without sending a reply to a unit that is connected to $RECEIVE.
SYSMSG
If you specify SYSMSG, the FORTRAN run-time library delivers system messages
(OPEN, CLOSE, SETMODE, BREAK, and so forth) received from $RECEIVE to
your program. If you do not specify SYSMSG, the FORTRAN run-time library
processes system messages.
FORTRAN responds to SETMODE and CONTROL messages with file system
error 2 if you do not specify SYSMSG. The unit receiving system messages via
$RECEIVE must have a record length of at least 34 characters. For a description
of system message formats, see the Guardian Procedure Errors and Messages
Manual .
The following table explains how FORTRAN uses the structures shown in Figure 14-4
on page 14-5 based on each of the RECEIVE directive option specifiers:
Attribute Effect
OPEN The server can support three simultaneous NonStop requester
processes because it has allocated space for three sets of server
replies: Requester 1 Replies, Requester 2 Replies, and Requester 3
Replies. Therefore, the server can support all three requesters:
Requester A, Requester B, and Requester C. It cannot, however,
support a fourth requester.
MAXREPLY The server can store replies that are up to 24 bytes long, as shown in
each Reply table.
SYNCDEPTH The server can support requesters that issue up to four requests to the
server between calls to a CHECKPOINT statement or a checkpoint
system procedure such as CHECKPOINT, CHECKPOINTX,
CHECKPOINTMANYX, and so forth.
QDEPTH The servers Received Message Table holds messages received from
$RECEIVE for which a corresponding WRITE statement has not been
executed.