z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Defining response binds

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

When a client expects a response to its request, the server is expected to provide a response to the sender. The response might, for example, always be sent by the server exit routine. Alternatively, the server exit routine might arrange for some other work unit to send the response. Depending on the implementation of the server, the responsibility for sending the response might vary depending on the type of request.

Clients that invoke IXCRECV to get the results of a request are blocked (suspended) until all the expected responses arrive, or a timeout value expires (for example, the RESPTIME keyword on the IXCSEND macro). Thus, if the server or its agent experiences an unrecoverable failure before it sends the expected response, the client remains blocked until the timeout value expires. To mitigate this problem, the server can establish a "response bind" for the request. A response bind indicates who is responsible for sending the response. XCF monitors the designated entity and sends an acknowledgment indicating that the request has failed if the responder terminates without sending a response.

When a server is started, you can use IXCSRVR RESPBIND to establish a default "response bind" to indicate who has responsibility for sending the response to a request. For example, you might indicate that the server exit routine is responsible for sending the response.

Suppose that XCF determines that the server exit failed while processing a request that expects a response. XCF cancels the expected response on behalf of the failed server exit. That is, XCF indicates to the requester that the anticipated response was not provided because the server failed while processing the request. Thus, the requester is not forced to wait the full timeout value before it is allowed to resume processing.

The response bind can be assigned to one of the following:
  • The server exit routine. XCF cancels the response if the server instance ends.
  • The server address space. XCF cancels the response if the address space ends. Use this option if some work unit running in the server address space (other than the server task) is responsible for sending the response.
  • The system on which the server instance resides. XCF cancels the response only if the system ends. Use this option if some work unit running in an address space (other than the server address space) is responsible for sending the response.

Responsibility for sending the response might vary on a request-by-request basis though this depends on the implementation of the server. Thus XCF provides the ability for the server to override the default RESPBIND specification that is set when the server is started. Before returning to XCF, the server exit can set the SXPL_RespBind field to change the default response bind. Note that updating SXPL_RespBind to set a new response bind for a particular request does not become effective until XCF successfully completes its backend processing of the request after the server exit returns.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014