*DMLONGKEEPALIVE (SETMODE)


9.1E

 

*DMLONGKEEPALIVE={value}

 

This control sets the keep-alive handshaking mode between the client and the server. Prior to version 9.2, this keyword was *DMLONGKEEPALIVE. The handshaking allows the server to detect a possibly hung client thread. The server terminates the thread after a specified number of minutes with no activity.

 

The {value} returned is one of the following:

 

Value

Long Keep Alive processing is ...

0

OFF. (default)

1

ON.

Note the following:

  1. The keyword 'DM_LONGKEEPALIVE={minutes}' must be specified in the [environment] section of the SUNDM configuration file. The {minutes} value has a minimum of three minutes. If this keyword is not specified, the default long keep-alive time is sixty minutes. This SUNDM keyword takes affect when the data manager creates any new child thread.

  2. When the SUNDM data manager receives a long keep-alive message from a client runtime, the data manager waits for the current long keep-alive time frame to receive the next message.

  3. If the data manager does not receive another message from the client runtime within the long keep-alive time duration, the data manager child thread is terminated after a child recovery is attempted.

  4. If the data manager receives a message from the client runtime before the long keep-alive time duration expires, the SUNDM data manager reverts to the normal keep-alive processing. The normal keep-alive processing expects that a keep-alive message must be received by the data manager child thread within the keepalive time specified by the 'DM_KEEPALIVE={minutes}' time frame.

  5. If the SETMODE *DMLONGKEEPALIVE {mode} is set to a zero value, the client runtime sends a message to all data managers currently being accessed that causes the use of normal keep-alive processing.

  6. When the SETMODE *DMLONGKEEPALIVE {mode} is set to a non-zero value, only long keep-alive messages are sent to the data managers. Once the SETMODE *DMLONGKEEPALIVE {mode} is set to a non-zero value, the execution of a PLB WINAPI or PLB method for an AUTOMATION, CONTAINER, or CONTROL object causes a long keep-alive message to be sent to the SUNDM data manager.

  7. This implementation is needed to prevent unexpected termination of data manager child threads caused by excessively long execution times for these PLB instructions. This can prevent unexpected I81 errors.

 

 

See Also: List Controls (SETMODE), SETMODE

 



PL/B Language Reference *DMKEEPACTIVE (SETMODE) *DO8BITATTRCONV (SETMODE)