Guardian Procedure Errors and Messages Manual

5 NEWPROCESS AND NEWPROCESSNOWAIT Errors
The following error codes and error lists are produced by the process-control procedures
NEWPROCESS and NEWPROCESSNOWAIT. These procedures can only create processes with
process identification numbers (PINs) in the low range of 0 through 254.
The NEWPROCESS and NEWPROCESSNOWAIT procedures return errors in a format that is
different from other procedures. In many cases, the error message must be decoded. The error
returned in the error parameter of the NEWPROCESS procedure is explained in the Guardian
Procedure Calls Reference Manual. The error returned in the rightmost half (bits <8:15>) contains
either an error subcode or a file-system error number. For an explanation of the file-system error
number, see “File-System Errors” (page 19). When file-system error number 119 is returned in bits
<0:7> or <8:15>, look in the errinfo parameter for an explanation of the error.
On D-series releases, you can use the PROCESS_LAUNCH_ or PROCESS_CREATE_ procedures.
With these procedures, you can create processes with PINs in the low range (0 through 254) or
in the high range (256 through 65535). Because you might want your processes to communicate
with processes created with the NEWPROCESS or NEWPROCESSNOWAIT procedure, you might
want to specify low PINs for processes that require such communication.
For information about PROCESS_LAUNCH_ and PROCESS_CREATE_ procedure errors, see “Process
Creation Errors” (page 158).
For further information about creating processes, see the discussions of these procedures in the
Guardian Programmer's Guide and the Guardian Procedure Calls Reference Manual.
Error Codes
A NEWPROCESS error code is returned to the calling procedure as two 8-bit fields or, if returned
by the command interpreter or other interactive program, the message is displayed on the terminal
as a 6-digit octal number. The leftmost half of the error word (bits <0:7>) contains the
NEWPROCESS error number; the rightmost half (bits <8:15>) contains either an error subcode or
a file-system error number.
0 (%000000) NO ERROR
Cause The call was completed successfully.
Effect None.
Recovery None.
1 (%000400) UNDEFINED EXTERNAL(S)
Cause The process being started contains a call to an external procedure that is not in the operating
system code area, the user library (if applicable), or the application code area.
Process creation occurs, and a message is printed on the home terminal. For example:
PID: \SYS10.4,94 \SYS10.$XL.SVOL.TEST (TNS)
External References Not Resolved to Any User/System Library:
Prg: \SYS10.$XL.SVOL.TEST -> MY_PROC (PROC) Undefined externals
where MY_PROC is the name of the undefined external procedure in the program file
\SYS10.$XL.SVOL.TEST.
Effect When the operating system finds a call to an undefined external procedure, it replaces the
original call with a call to Debug. If the operating system tries to invoke the undefined external
during program execution, the program goes into the debug state.
142 NEWPROCESS AND NEWPROCESSNOWAIT Errors