Guardian Procedure Calls Reference Manual

are selected from this set of names. For more information about reserved process names, see
Appendix B: Reserved Process Names.
Creator access ID (CAID) and process access ID (PAID)
The creator access ID of the new process is always the same as the process access ID of the
creator process. The process access ID of the new process is the same as that of the creator
process unless the program file has the PROGID attribute set; in that case the process access
ID of the new process is the same as the user ID of the program file's owner and the new
process is always local.
When a nonzero value is returned in error for NEWPROCESSNOWAIT
If NEWPROCESSNOWAIT cannot initiate process creation (for instance, if an invalid processor
number is specified), no message appears on $RECEIVE. The error parameter returns a
nonzero value indicating the error.
NEWPROCESS[NOWAIT] and low PINs
Processes created by NEWPROCESS[NOWAIT] always have low PINs because a high PIN
cannot fit into a four-word process ID.
DEFINE Considerations
DEFINEs from the process context of the caller are propagated to the new process. DEFINEs
are propagated to the new process according to the DEFINE mode of the new process. Buffer
space for DEFINEs being propagated to a new process is limited to 2 MB whether the process
is local or remote. However, the caller can propagate only as many DEFINEs as the child's
PFS can accommodate in the buffer space for the DEFINEs themselves and in the operational
buffer space needed to do the propagation. The maximum number of DEFINEs that can be
propagated varies depending upon the size of the DEFINEs being passed. For an estimate of
the size of each type of DEFINE, see DEFINESAVE Procedure (page 285).
When a process is created, its DEFINE working set is initialized with the default attributes of
class MAP.
Any or all of the three filenames in the filenames parameter may be DEFINE names;
NEWPROCESS[NOWAIT] will use the disk volume or file given in the DEFINE. If
program-file is a DEFINE name but no such DEFINE exists, the appropriate error is returned.
If either of the other names, library-file or swap-file, is a logical name but the DEFINE
is missing, the procedure will behave as if the file name was not present in the call. This
characteristic of accepting absence of DEFINEs provides the programmer with a convenient
mechanism which allows, but does not require, user specification of library or swap file
location.
Each process has an associated count of the changes to its context. This count is incremented
each time the procedures DEFINEADD, DEFINEDELETE, and DEFINEDELETEALL are invoked
and a consequent change to the process context occurs. In the case of DEFINEDELETE and
DEFINEDELETEALL the count is incremented by one even if more than one DEFINE is deleted.
The count is also incremented if the DEFINE mode of the process is changed. If a call to
CHECKDEFINE causes a DEFINE in the backup to be altered, deleted or added, then the
count for the backup process is incremented. This count is 0 for newly-created processes, and
new processes do not inherit the count of their creators.
860 Guardian Procedure Calls (N)