TS/MP Pathsend and Server Programming Manual (H06.05+, J06.03+)
TERMINATION-STATUS value of 12 (I/O error) and a TERMINATIONSUBSTATUS value of 40
(timeout error).
Note also that if the server class is configured so that it can be opened more than once (that is,
with MAXLINKS greater than 1), the LINKMON process, the ACS subsystem processes, or TCP
can attempt to open a server process in that server class at any time. This open attempt can time
out if the server process is being debugged.
When Pathsend error 915 or a SEND error with TERMINATION-STATUS 12 occurs with a timeout
error during server debugging, use the PATHCOM STATUS PATHMON command to find the server
classes that are in the LOCKED state. Identify the server program file for each locked server class,
and issue the TACL command STATUS *, PROG object-file-name to list all running processes.
Stop these processes by using the TACL STOP command. The PATHMON process then unlocks the
server class, the LINKMON process, the ACS subsystem processes, or the TCP completes the
shutdown logic, and error 915 is no longer returned.
The LINKMON process or the ACS subsystem processes now have no more communication with
that PATHMON process. When a subsequent send request comes in for a server controlled by that
PATHMON process, the LINKMON process, the ACS subsystem processes, or TCP opens the
PATHMON process, and waits to be opened by that PATHMON process in turn, before initiating
any get-link requests to that PATHMON process.
PATHMON Process Timeouts
Similarly, the PATHMON process has a built-in five-minute timeout for I/O operations, such as the
opening of a a server process and the sending of a startup message to it that can occur as a result
of a get-link request. If such an operation takes longer than five minutes (for example, because the
server process is in debug mode), the get-link request from the LINKMON process, the ACS
subsystem processes, or the TCP times out. A Pathsend requester receives Pathsend error 902,
FEScPathmonConnect, with file-system error 40 (timeout error). A SCREEN COBOL requester
receives a SEND error with a TERMINATION-STATUS value of 18 (PATHMON I/O error) and a
TERMINATION-SUBSTATUS value of 40 (timeout error).
By default, the COBOL85 and C run-time libraries handle initialization automatically before the
first line of server code is executed. Therefore, PATHMON timeout errors on server initialization
are most likely to occur when you are debugging servers written in TAL or pTAL, or other servers
that are explicitly programmed to monitor system messages such as open messages.
Server Timeouts
Another kind of timeout problem that can occur for servers being debugged is related to the
configured timeout value for the server class (set in the PATHCOM SET SERVER TIMEOUT command).
This timeout covers only the time taken by the I/O to the server process. If a timeout occurs, the
LINKMON process, the ACS subsystem processes, or the TCP cancels the send operation, and the
Pathsend call or SCREEN COBOL SEND request fails. Changing the value of the timeout parameter
during debugging might help prevent this problem from occurring.
Avoiding Timeout Errors
A good way to avoid most timeout errors during the debugging of servers is to write an Inspect
command file that automatically continues server operation before a timeout occurs.
Writing Context-Sensitive Servers
If you are writing a context-sensitive Pathway server, you must follow the guidelines in “Basic
Pathway Server Programming” (page 62) earlier in this section and also perform additional
programming tasks. This subsection describes these additional tasks and other considerations for
programming context-sensitive servers.
When you use context-sensitive Pathway servers, the requester and server must be designed to
work together. The context-sensitive Pathsend procedure calls used by the requester, described in
70 Writing Pathway Servers










