Guardian Procedure Calls Reference Manual

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.
When a process is created, its DEFINE working set is initialized with the default attributes of
CLASS MAP.
For TNS processes, the Z^SWAPFILENAME and Z^EXTSWAPFILENAME fields of the
process_extension parameter can be DEFINE names; PROCESS_SPAWN_ uses the disk
volume or file given in the DEFINE. If either Z^SWAPFILENAME or Z^EXTSWAPFILENAME
contains a DEFINE name but no such DEFINE exists, the procedure behaves as if no name
were specified. This feature of accepting names of nonexistent DEFINEs as input gives the
programmer a convenient mechanism that allows, but does not require, user specification of
the location of the swap file or extended swap file.
For each process, a count is kept of the changes to that process' DEFINEs. This count is always
0 for newly created processes. The count is incremented each time the procedures DEFINEADD,
DEFINEDELETE, DEFINESETMODE, 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 1 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 the CHECKDEFINE
procedure causes a DEFINE in the backup to be altered, deleted, or added, then the count
for the backup process is incremented.
Batch Processing Considerations
NOTE: The job ancestor facility is intended for use by the NetBatch product. Other applications
that use this facility might be incompatible with the NetBatch product.
When the process being created is part of a batch job, PROCESS_SPAWN_ sends a job
process creation message to the job ancestor of the batch job. (See the discussion of "job
ancestor" in the Guardian Programmer's Guide.) The message identifies the new process and
contains the job ID as originally assigned by the job ancestor. This enables the job ancestor
to keep track of all the processes belonging to a given job.
For the format of the job process creation message, see the Guardian Procedure Errors and
Messages Manual.
PROCESS_SPAWN_ can create a new process and establish that process as a member of
the caller's batch job. In that case, the caller's job ID is propagated to the new process. If the
caller is part of a batch job, then to start a new process that is part of the caller's batch job,
set the Z^JOBID field of the process-extension parameter to -1.
PROCESS_SPAWN_ can create a new process separate from any batch job, even if the caller
is a process that belongs to a batch job. In that case the job ID of the new process is 0. To
start a new process that is not part of a batch job, specify 0 for Z^JOBID.
PROCESS_SPAWN_ can create a new batch job and establish the new process as a member
of the newly created batch job. In that case, the caller becomes the job ancestor of the new
job; the job ID supplied by the caller becomes the job ID of the new process. To start a new
batch job, specify a nonzero value (other than -1) for the Z^JOBID field of the
process-extension parameter.
A job ancestor must not have a process name that is longer than four characters (not counting
the dollar sign). When the caller of PROCESS_SPAWN_ is to become a job ancestor, it must
conform to this requirement.
1118 Guardian Procedure Calls (P)