Guardian Application Conversion Guide
Creating and Managing a High-PIN Process
Converting TAL Applications
096047 Tandem Computers Incorporated 3–15
5. Set
create^options
.<10> to 1 if you want the process to run at a high PIN
irrespective of process ancestry. Set
create^options
.<10> to zero (the default
value) if you want process ancestry to influence whether the process runs at a high
PIN or a low PIN.
In the following example, PROCESS_CREATE_ creates a high-PIN process in a waited
manner, assuming the inherited force-low flag is not set. The
nowait^tag
and
create^options
parameters are omitted from the call:
error := PROCESS_CREATE_(program^file:pf^length,
! library^file:lf^length ! ,
! swapfile:sf^length ! ,
! ext^swapfile:esf^length ! ,
priority,
cpu^number,
process^handle,
error^detail);
When you call PROCESS_CREATE_ in a waited manner, you receive the results
directly in the PROCESS_CREATE_ output parameters. The system returns any errors
in the returned value
error
and in the
error^detail
(if needed) output parameter.
Creating a High-PIN Process in a Nowait Manner
Your existing program might call the NEWPROCESSNOWAIT procedure to create a
process in a nowait manner:
CALL NEWPROCESSNOWAIT(program^file,
priority,
memory^pages,
processor,
! process^id ! ,
error);
To convert your program to create a high-PIN process in a nowait manner, you must
make the following changes in your source code:
1. Use the PROCESS_CREATE_ procedure rather than the NEWPROCESSNOWAIT
procedure. NEWPROCESSNOWAIT always creates a low-PIN process.
2. Each file-name parameter must be a variable-length string with its length specified
as a separate integer value. Set the
program^file
parameter and, if needed, the
library^file
,
swapfile
, and
ext^swapfile
parameters and their respective
lengths.
3. Set the
nowait^tag
parameter to a value other than -1D.
4. If you use the
create^options
parameter, make sure that bit 15 is zero. If you
do not use
create^options
, this bit is zero by default. If this bit is not zero, the
system creates the process at a low PIN.