GDSX (Extended General Device Support) Manual

Design and Development
Extended General Device Support (GDSX) Manual529931-001
2-10
Overview of GDSX Processing
LINE^HANDLER Task
A LINE^HANDLER is an optional USCODE procedure typically used to implement data
communications protocols and to allow each requester thread to use a shared
resource (often a communications line) without allowing the threads to interfere with
each other. Running copies of LINE^HANDLER code are called LINE^HANDLER
tasks. These tasks are separate entities although they all use the same
LINE^HANDLER procedure code. LINE^HANDLER tasks are also called LINE tasks.
Using a LINE^HANDLER to provide line protocol functions is necessary only if the
access method to which GDSX interfaces does not provide these functions. For
example, LINE^HANDLER functions are required within GDSX where GDSX interfaces
to multidrop Envoy; however, they are not required where GDSX interfaces to AM3270.
In a GDSX application there is usually one LINE^HANDLER task created for each line
configured. A LINE^HANDLER task is created when a user starts a preconfigured line
by means of SCF. The maximum number of LINE^HANDLER tasks, specified by the
MAXLINES configuration parameter, is 15.
Although a LINE^HANDLER is often used to handle messages to or from a
communication line, a LINE^HANDLER procedure may also be used to route
messages to an external process.
Overview of GDSX Processing
TSCODE does the following at GDSX process initialization time:
1. Initializes configuration parameters from default values.
2. Calls the USER^INIT^CONFIG^PARAMS user exit.
3. Opens the $RECEIVE file for the GDSX process.
4. Calls the PROCESS^ASSIGNS user exit once for each ASSIGN command entered
from a TACL process before GDSX was started. If no such commands were
entered, this user exit is not called.
5. Calls the PROCESS^USER^PARAMS user exit once for each USERPARAM
defined in PARAM commands entered from a TACL process before GDSX was
started. If no such commands were entered, this user exit is not called.
6. Calls the USER^VERSION user exit.
7. Allocates memory for control blocks, memory pools, stack images, checkpointed
buffers, EMS log messages, and so on.
8. Initializes monitor and listener system tasks. Starts the listener task. If GDSX was
run as a process pair, a backup task is started.
9. Calls the USER^INITIALIZE user exit.
10. Starts the monitor task.