Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 29
Specifying Process Attributes and Resources
Figure 16-7 summarizes how these conditions affect whether new processes run at a
high PIN. A description of each of these entities follows.
The Force-Low Flag
If you set bit 31 (the force-low flag) to 1 in the CREATE_OPTIONS field of the input
parameter structure when you call PROCESS_LAUNCH_, the new process will run at
a low PIN. (Note that processes started with the C-series NEWPROCESS procedure
always run at a low PIN.)
The Inherited Force-Low Characteristic
If the inherited force-low characteristic of your process is set, the new process normally
runs at a low PIN. This flag is contained within the PCB and is normally inherited from
the creator. A process has its inherited force-low characteristic set if one of the
following is true:
The creator was created with bit 31 (the force-low flag) set to 1 in the
CREATE_OPTIONS field.
The creator was created using the C-series NEWPROCESS procedure.
The creator inherited the force-low characteristic from its creator.
The Ignore Force-Low Flag
To override the inherited force-low characteristic, you set bit 26 (the ignore force-low
flag) to 1 in the CREATE_OPTIONS field of the input parameter structure. As a result,
the new process can run at either a high PIN or a low PIN, depending upon the force-
low flag and the program, library, and SRL files. In addition, the new process does not
have its inherited force-low characteristic set.
The HIGHPIN Attribute
If the HIGHPIN attribute is set for the program file and for any library file or SRL file,
the new process can run at a high PIN. To do so, however, the process must not be
forced into a low PIN by either CREATE_OPTIONS.<31>, or the inherited force-low
characteristic.
The following example shows one way of setting the HIGHPIN file attribute, using the
B
INDER program:
28> BIND CHANGE HIGHPIN ON IN tnsobj
The next example shows the use of the nld utility to perform the same action on an
existing TNS/R native object file:
29> nld -change highpin on natobj
Both utilities can also set attributes while creating the object file. The following
example shows how to set the HIGHPIN attribute while linking two native object files:
30> nld ofile1 ofile2 -set highpin on -o objfile