Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 37
Specifying Process Attributes and Resources
By default (bits 27 and 28 set to 0), only DEFINEs in the context of the current
process are propagated to the new process.
Set bit 28 to 1 and bit 27 to 0 to propagate DEFINEs saved by the current process.
The address of the propagated DEFINE is passed in the DEFINES field of the input
parameter structure of the PROCESS_LAUNCH_ procedure call.
Set bit 27 to 1 and bit 28 to 0 to propagate DEFINEs from the context of the calling
process and the DEFINEs listed in the DEFINES field of the input parameter
structure.
To override the default setting for the DEFINE mode of the new process, you need to
set bit 29 to 1 in the CREATE_OPTIONS field of the input parameter structure. The
DEFINE mode of the new process is then specified by bit 30: to enable DEFINEs in
the new process, set bit 30 to 1; to disable DEFINEs, set bit 30 to 0.
The following example turns on DEFINE mode for the new process and propagates the
DEFINEs saved in the DEFINE save buffer by a previous call to the DEFINESAVE
procedure.
.
.
PARAM_LIST.CREATE_OPTIONS.<27:28> := 2; !Propagate all
! DEFINEs
PARAM_LIST.CREATE_OPTIONS.<29> := 1; !Use bit 30
PARAM_LIST.CREATE_OPTIONS.<30> := 1; !Set DEFINE mode on
PARAM_LIST.DEFINE := <address of DEFINE save buffer>
! buffer contents supplied from call to DEFINESAVE
PARAM_LIST.DEFINE_LEN := <length of buffer>
ERROR := PROCESS_LAUNCH_( PARAM_LIST,
ERROR_DETAIL,
OUTPUT_LIST:$LEN(OUTPUT_LIST),
OUTPUT_LIST_LEN);
When you create the new process, the DEFINE working set is initialized with the
default attributes of CLASS MAP.
See Section 7, Using DEFINEs, for details on how to use DEFINEs.
Distinguishing the Recipient of the Process Deletion
Message
Use the CREATE_OPTIONS field of the input parameter structure to specify whether
the system should exhibit D-series behavior (the default action) or C-series behavior
when delivering system message -101 (Process deletion) after the process you are
creating terminates.
Note. When the primary process of a process pair creates its backup, all DEFINEs in the
context of the primary process are propagated to the backup regardless of the settings of bits
in the CREATE_OPTIONS field of the input parameter structure. If a value is specified in the
DEFINE_NAME field, it is ignored.