Guardian Application Conversion Guide

Opening and Communicating With a High-PIN Server
Converting TAL Applications
096047 Tandem Computers Incorporated 3–35
Monitoring a High-PIN
Server
If your program monitors a high-PIN server, you must convert the following
operations:
Opening and closing $RECEIVE
Reading process-deletion and status-change messages
Using the CHILD_LOST_ procedure
The following paragraphs describe how to convert these operations. These steps also
can apply to any creator process that monitors a process that it has created.
Opening $RECEIVE
Your requester might open $RECEIVE using the OPEN procedure:
INT .receive^name[0:11] := ["$RECEIVE", 8 * [" "]];
...
CALL OPEN (receive^name,
receive^file^number,
read^open^close^msgs,
receive^depth);
Convert your requester to open $RECEIVE using the FILE_OPEN_ procedure. Use a
file-name string for the $RECEIVE file name instead of the internal file-name format.
Specify the length as a separate integer value.
The
options
.<14> bit must be zero (which is the default value) for the system to send
D-series system messages to $RECEIVE; otherwise, the system sends C-series system
messages to $RECEIVE for the requester.
An example of a FILE_OPEN_ procedure call for $RECEIVE is:
LITERAL receive^name^length = 8;
STRING .receive^name[0:receive^name^len-1] := ["$RECEIVE"];
...
! Open $RECEIVE to read D-series system messages.
error := FILE_OPEN_(receive^name:receive^name^length,
receive^file^number,
! access^mode ! ,
! exclusion^mode ! ,
! nowait^operations ! ,
receive^depth,
options);