Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (P)
Guardian Procedure Calls Reference Manual522629-013
12-191
PROCESS_SPAWN_ Procedure
Considerations for Resolving File Names
All file names are specified using OSS pathname syntax and are resolved using
the caller’s OSS current working directory.
For TNS and accelerated processes on RVUs preceding the D42 RVU, if the
Z^SWAPFILENAME or Z^EXTSWAPFILENAME field of the
process-
extension parameter is specified and
A file with that name exists, that file is used for memory swaps of the user data
stack (Z^SWAPFILENAME ) or of the default extended data segment
(Z^EXTSWAPFILENAME) during execution of the process; if no file of that
name exists, then a file of that name and of the necessary size is created and
used for swapping.
Contains the name of a temporary file that is already in use, an error is
returned.
Contains only the disk volume name, then a temporary file is created on the
specified disk device.
Is equal to 0D, then the SWAP volume name in the =_DEFAULTS DEFINE is
used if available. Otherwise, the system chooses where to place the file.
Resolving the problem of spawning remote shell scripts
Use PROCESS_SPAWN_ to spawn a remote shell and pass the name of the
script as one of its arguments. The shell will run the script.
Spawn a local shell and use the Expand file system to read the remote shell
script.
Considerations for Resolving External References
Program file and user library file differences
A user library is an program file containing one or more procedures. The
difference between a program file and the library file is that the library file cannot
contain a MAIN procedure but a program file must contain a MAIN procedure.
Undefined external references in a program file are resolved from the user library,
if any, or the system library. Unresolved references in a library are resolved only
from the system library.
Library conflict PROCESS_SPAWN_ error
The library file for a process can be shared by any number of processes.
However, when a program is shared by two or more processes, all processes must
have the same user library configuration; that is, all processes sharing the program
either have the same user library or have no user library. A library conflict error
occurs when there is already a copy of the program running with a library
configuration different from that specified in the call to PROCESS_SPAWN_.
I/O error to the home terminal