Please enable JavaScript to view this site.

A-Shell Consolidated Reference

Navigation: Setup > System Parameters > SBR

INFLD_KEEPALIVE

Scroll Prev Top Next More

(Unix) This sends a harmless byte sequence every 15 seconds while waiting for input within INFLD, which includes the dot prompt and ASB INPUT statements). This serves two purposes. First, it will prevent connections from being dropped due to lack of activity while they are actually in a program waiting for input. Second (and perhaps more important), it provides a mechanism for Unix servers to detect connections that have been dropped (without having to wait for the standard keep-alive timers to expire, which by default may run to 2 hours). This way, within 15 seconds of the connection being dropped, the server will send a packet, which cannot be delivered. This should trigger a retry timer which will try to resend the packet some number of times before concluding that the connection is dead. This process is generally much quicker than the keep-alive detections process.

Note that under Unix, the retry timers are controlled by two files in the /proc filesystem: /proc/sys/net/ipv4/tcp_retries1 and tcp_retries2. The default values of 3 and 15, respectively, may be large for your liking, possibly taking as long as 15-30 minutes to close the dropped connection. You can set them as low as 1 and 2 for nearly immediate detection, at the possible risk of prematurely judging a temporarily sluggish connection to be dead. There are being many sites on the web with good documentation about the files in the Linux /proc filesystem.

History

2004 January, A-Shell 4.9.861:  Function added to A-Shell