Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (F)
Guardian Procedure Calls Reference Manual—522629-013
5-127
FILE_OPEN_ Procedure
When process A attempts to open process B, FILE_OPEN_ completes as follows:
•
If process B has already opened $RECEIVE with file-management system
messages disabled, the open call by process A completes immediately.
•
If process B has opened $RECEIVE requesting file-management system
messages enabled, the open call completes when process B reads the open
message from process A by using READ[X], or if B uses READUPDATE[X],
the open call completes when process B replies to the open message (by
using REPLY[X]).
If process B has not yet opened $RECEIVE, the open by process A does not
complete until process B opens $RECEIVE. Specifically, the open by process
A completes as follows:
•
When process B opens $RECEIVE with file-management system
messages disabled, a waited open by process A completes immediately,
but a nowait open by process A completes after the first read of $RECEIVE
by process B.
•
When process B opens $RECEIVE with file-management system
messages enabled, the open call by process A completes when process B
reads the open message from A by using READ[X], or if B uses
READUPDATE[X], the open call completes when process B replies to the
open message (by using REPLY[X]).
•
Message formats
When $RECEIVE is opened by FILE_OPEN_, system messages are delivered to
the caller in D-series format unless messages in C-series format are requested by
setting
options.<14> to 1. (No file-management system messages are delivered
to the caller if
options.<15> is set to 1 when opening $RECEIVE.)
•
Messages from high-PIN processes
Opening $RECEIVE with FILE_OPEN_ implies that the caller is capable of
handling messages from processes with PINs greater than 255.
•
Opening $RECEIVE and being opened by a remote long-named process
If a process uses the FILE_OPEN_ procedure to open $RECEIVE and requests
that C-series format messages be delivered (or if a process uses the OPEN
procedure to open $RECEIVE), then a subsequent open of that process by
another process on a remote node that has a process name consisting of more
than five characters will fail with an error 20. Notification of this failure is not sent
to the process reading $RECEIVE.
•
Opening an unconverted (C-series format) process from a high-PIN process.
A high-PIN process cannot open an unconverted process unless the unconverted
process has the HIGHREQUESTERS object-file attribute set. If a high-PIN