TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)
Writing Pathway Servers
NonStop TS/MP Pathsend and Server Programming Manual–132500
4-12
PATHMON Process Timeouts
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 or the TCP completes the shutdown logic, and error 915 is no
longer returned.
The LINKMON process now has 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 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 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 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.