Guardian Procedure Calls Reference Manual
Considerations
• Determining if an opener has been lost
The OPENER_LOST_ procedure reports that an opener has been lost if:
◦ The connection to a remote system is lost and the process was running in that system.
◦ A remote processor has failed and the process was running in that processor.
◦ A local processor has failed and the process was running in that processor.
• The open table
The open table is created and maintained by the caller. There should be an entry for each
open of the caller, containing the process handles of the primary and backup openers plus
any additional information that the caller wishes to store.
The OPENER_LOST_ procedure makes these assumptions about the open table that is supplied
to it:
◦ Entries are of fixed length and are entry-size long.
◦ The process handles of the primary and backup openers are stored back-to-back (the
primary preceding the backup) in contiguous ten-word fields within each entry.
◦ If the primary and backup process handles are not the first fields in the entry, table
points to the first word of the first entry's primary-opener process handle rather than to
the first word of the table entry.
◦ An unused primary or backup field is marked with a null process handle (-1 in each
word).
When an opener is lost, OPENER_LOST_ makes any necessary updates to the primary and
backup fields of the open table. If the backup opener is lost, the backup process handle is set
to null. If the primary opener is lost, the backup process handle is moved to the primary opener
field and the backup opener field is set to null (-1 in each word).
This example illustrates a possible layout for an opener table entry:
LengthSection
10 wordsprocess handle of primary opener
10 wordsprocess handle of backup opener
some fixed lengthmiscellaneous information
• Searching the open table
To search the open table, call OPENER_LOST_ repeatedly until the returned status value is
either 0 or a value that indicates an error condition. Before making the first call, initialize
index to -1; do not alter its contents after that.
OPENER_LOST_ Procedure 923