GDSX (Extended General Device Support) Manual

Service Routines
Extended General Device Support (GDSX) Manual529931-001
8-50
NOTIFY^IO^COMPLETION[X]
supported ^NEWPROCESS procedure rather than the Guardian NEWPROCESS
allows GDSX to maintain a table (PCBTBL) of processes for which it is the creator. By
means of this table, stop or abend system messages received by TSCODE can be
routed to the task that created the process being stopped.
If USCODE is converted, TSCODE tracks its created processes with process handles,
and so USCODE tasks cannot call this procedure. If a task within a converted
application calls this procedure, file-system error 29 or 560 is returned. Converted
USCODE must instead call ^CREATE_PROCESS_, the equivalent D-series service
routine.
Except for the following considerations, the syntax, condition code settings, and
considerations regarding this procedure are the same as the counterpart in the
Guardian Procedure Calls Reference Manual.
Considerations
^NEWPROCESS is a waited operation. ^NEWPROCESS cannot be called in a
nowaited mode.
Because the working stack images of tasks are swapped to and from an extended
data segment during I/O operations, I/O must be performed to and from global
buffers.
The name, priority, and processor parameters are required. The Guardian jobid
and errinfo parameters are not supported.
The MAXPROCESSES configuration parameter specifies the maximum number of
processes that can be active simultaneously as a result of GDSX ^NEWPROCESS
calls. (MAXPROCESSES is used to determine the size of the PCB table.) If the
GDSX process is to run as a process pair, then MAXPROCESSES must be at
least 1 to allow for the creation of the backup process.
If a USCODE task calls ^NEWPROCESS, and the created process stops, abends,
or is lost due to CPU failure, TSCODE receives a stop, abend, or CPU fail system
message (type -5, -6, or -2). If sysmsgs^flag of the CONTROLFLAGS
configuration parameter is set to 1, TSCODE forwards the system message to the
USCODE task that created the process. Maximum length of the forwarded
message is 60 words.
NOTIFY^IO^COMPLETION[X]
When the processing for an intertask request from a sending task is completed by the
associated receiving task, a call to NOTIFY^IO^COMPLETION[X] by the receiving task
causes the IOCB to be delinked from the receiving task’s TCB and the sending task is
notified that the I/O request is complete or was canceled.
When a DEVICE^HANDLER task under a LINE initiates an I/O to the LINE, an IOCB is
automatically allocated and linked to the TCB for the task and to the FCB of the ITC file
(intertask communication file) just as it would be for a Guardian file. Also, the IOCB is