Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (O)
Guardian Procedure Calls Reference Manual—522629-013
11-50
OPENER_LOST_ Procedure
•
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 10-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).
The following illustrates a possible layout for an opener table entry:  
•
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.
Example
index := -1; ! initialize table 
 ! index
DO ! do until search 
 ! is finished
 BEGIN ! or an error 
 ! occurs:
 status := OPENER_LOST_ ( message:length ! search table 
 ,table^ptr, ! for next
 ,index, ! affected 
 ,num^of^entries ! entry
 ,entry^size );
 do any necessary work
 END
UNTIL status = 0 OR status = 2 OR status = 3 OR status = 7;
Section Length
process handle of primary opener 10 words
process handle of backup opener 10 words
miscellaneous information some fixed length










