TS/MP 2.5 Pathsend and Server Programming Manual
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 ACS subsystem processes or the TCP completes the
shutdown logic, and error 915 is no longer returned.
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
ACS Subsystem PB 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 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 ACS subsystem ROUT process or
the TCP times out. A Pathsend requestor receives Pathsend error 902, FEScPathmonConnect, with
file-system error 40 (timeout error). A SCREEN COBOL requestor 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
ACS subsystem ROUT 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.
Writing Context-Sensitive Servers
If you are writing a context-sensitive Pathway server, you must follow the guidelines in “Basic
Pathway Server Programming” (page 61) earlier in this chapter 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 requestor and server must be designed to
work together. The context-sensitive Pathsend procedure calls used by the requestor, described in
chapter 3, “Writing Pathsend Requestors” (page 50), and chapter 5, “Pathsend Procedure Call
Reference” (page 74), convey dialog information to the server, and the server conveys dialog
information in a reply.
NOTE: The SCREEN COBOL language does not support context sensitivity; therefore, to take
advantage of context sensitivity, you must use either a Pathsend requestor or a GDSX front-end
process that uses the GDSX pseudo Pathsend procedures.
Writing Context-Sensitive Servers 69










