Timeout in Synchronous Transfer mode
For the Send File and Send Request requests, the two modes are selectable: HULFT waits for the transfer result (Synchronous Transfer) or HULFT does not wait for the transfer result (Asynchronous Transfer). When the file transfer is executed in Synchronous Transfer mode, it is necessary to set the timeout for waiting for the result of the transfer.
In Synchronous Transfer mode, the method to communicate between processes and the program to synchronously wait for the file transfer to end differs depending on how you issue the request. Therefore, the value used for detecting the timeout may also differs. There are two major patterns as shown below:
-
For the Send File request
-
For the Send Request request
For the Send File request

Figure 4.6 Synchronous Transfer Timeout (for Send File request)
1) When the Send File Issuance command is executed, the command issues a request to the Send system to send the file.
In Synchronous Transfer mode, the Send File Issuance command remains in the waiting status until the Send system completes the file transfer.
2) The Send File Issuance command receives the transfer result after the file transfer ends, then ends the process.
However, if the timeout value for waiting for the transfer result set in 2) is not long enough, the Send File Issuance command may be terminated due to the timeout even when the file transfer may successfully ends. Specify the above wait time as the value for Synchronous Transfer Timeout.
If the Receive Management Information meets all of the following conditions, it is necessary to take into account the execution time of the post-receive job as well:
-
Successful Job ID is specified
-
Notification is set to Successful Job Completion
How to specify the timeout
In HULFT for zOS
- Send File Issuance program (XRSNDGO)
-
Because the Synchronous Transfer Timeout function is not provided in HULFT for Mainframe, the timeout does not occur.
In HULFT for IBMi
- Send File Issuance command (UTLSEND)
-
Execute the command with the following parameter:
-
'W=' wait time (seconds)
If the above parameter is not specified, the timeout value is indefinite.
-
In HULFT for Linux/AIX
- Send File Issuance command (utlsend)
-
Execute the command with the following parameter:
-
-w wait time (seconds)
If the above parameter is not specified, Utility Timeout (seconds) specified in the System Environment Settings is used.
-
In HULFT for Windows
- Send File Issuance command (utlsend.exe)
-
Execute the command with the following parameter:
-
-w wait time (seconds)
If the above parameter is not specified, Socket Read Timeout specified in the System Environment Settings is used.
-
For the Send Request request

Figure 4.7 Synchronous Transfer Timeout (for a Send Request request)
1) When the Send Request Issuance command is executed, the command issues a request to the Observe system to issue a request for sending the file.
The Send Request Issuance command then remains in the waiting status until the result is notified by the Observe system.
2) The Observe system issues the request to the Send system to send the file.
3) After the file transfer is complete, the Send system notifies the Observe system that the file transfer is complete.
However, if the timeout value for waiting for the transfer result set in 4) is not long enough, the Send Request Issuance command may be terminated due to the timeout though the file transferring continues. Specify the above wait time as the value for Synchronous Transfer Timeout.
-
When the request receiving side (namely, file sending side) is HULFT for Mainframe, the synchronous transfer timeout is valid only when all of the following requirements are met:
-
HULFT on the request issuing side and HULFT on the request receiving side are both Ver.6.3 or higher
-
"1" is specified for Observe Synchronous Waiting (REQWAITMODE) in the System Environment Settings on the request receiving side
In the case other than the above, HULFT for Mainframe on the request receiving side does not time out no matter what is specified as the synchronous transfer timeout on the issuing side of the Send Request request. HULFT on the issuing side of the Send Request request times out when HULFT on the request receiving side does not respond before the timeout is reached.
-
-
When the control is not released from the request receiving side despite the non-communication timeout is reached due to a network error or other causes, the state is handled as a communication timeout. (*1)
-
When HULFT on the request receiving side is HULFT for IBMi, you need to select Send Packet in the System Environment Settings.
-
If the following conditions are met in the Receive Management Information, determine the synchronous transfer timeout by taking the successful job on the file receiving side (namely, request issuing side) also into account because its execution time should be included in the timeout:
-
Successful Job ID is specified
-
Notification is set to "Successful Job Completion"
-
-
When the request receiving side (namely, the file sending side) is HULFT for XSP, if Pre-Send Job is specified, determine the synchronous transfer timeout by taking into account the time to wait for the pre-send job to complete because that time is also included in the timeout.
*1 |
: |
For details on non-communication timeouts, refer to Non-communication timeouts. |
How to specify the timeout
In HULFT for zOS
- For the Send Request Issuance program (XRRCVREQ)
-
Specify the following in XRCARD definition card for the startup JCL:
-
TIME= synchronous transfer timeout (seconds)
If the above parameter is not specified, the Observe system does not time out due to the setting. Note that, when no response has been received from the Observe system when the non-communication timeout is reached, the Send Request request results in a non-communication timeout. For details, refer to Non-communication timeouts.
-
In HULFT for IBMi
- Send Request Issuance command (UTLRECV)
-
Execute the command with the following parameter:
-
'W=' synchronous transfer timeout (seconds)
If the above parameter is not specified, Socket Read Timeout specified in the System Environment Settings is used.
-
In HULFT for Linux/AIX
- Send Request Issuance command (utlrecv)
-
Execute the command with the following parameter:
-
-w synchronous transfer timeout (seconds)
If the above parameter is not specified, Utility Timeout (seconds) specified in the System Environment Settings is used.
-
In HULFT for Windows
- Send Request Issuance command (utlrecv.exe)
-
Execute the command with the following parameter:
-
-w synchronous transfer timeout (seconds)
If the above parameter is not specified, Socket Read Timeout specified in the System Environment Settings is used.
-