z/OS Communications Server: IP CICS Sockets Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Handling task hangs

z/OS Communications Server: IP CICS Sockets Guide
SC27-3649-00

TCP/IP CICS® socket applications might encounter hangs when they are using sockets API blocking calls. The most common scenario occurs when the remote peer fails to send data for the read or receive functions that are issued by the CICS socket application. When this situation occurs, get the read data from the socket before using a select or selectex function call. However, even when you use these functions to get the read data, you must end the hung transactions. The external symptom of this kind of hang in CICS is that the transactions are in an external wait in the TCP/IP CICS TRUE (module EZACIC01).

Perform one of the following two tasks to terminate a transaction that is in an external wait in EZACIC01:
  • Set the APPLDAT value to YES in the TYPE=CICS configuration (EZAC transaction). You can use the NETSTAT CONN APPLDATA (CLIENT CICSjobname command to correlate the connection IDs to the associated hung transactions. The following sample shows the Netstat output when you use the appldata keyword:
    EZZ2585I User Id  Conn     Local Socket           Foreign Socket         State 
    EZZ2586I -------  ----     ------------           --------------         ----- 
    EZZ2587I CICS     00006BF0 0.0.0.0..3010          0.0.0.0..0             Listen
    EZZ2591I   Application Data:   EZACICSO CSKL 0000037 ........

    The data that is returned consists of the transaction name (CSKL in the sample) and the CICS transaction number (0000037 in the sample).

    By using this data with the TCP/IP Conn ID (00006BF0 in the sample), you can issue a Netstat drop command to take the following actions:
    • Stop the connection from a TCP/IP perspective.
    • Cause the outstanding blocking function call to fail.
    • Return control to the application.
  • Use CEMT force purge from CICS.
    Note: CEMT purge or DTIMEOUT do not have an effect because the TCP/IP CICS TRUE is defined as non-purgeable.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014