diff options
author | Niels Provos <provos@cvs.openbsd.org> | 2001-05-31 16:27:09 +0000 |
---|---|---|
committer | Niels Provos <provos@cvs.openbsd.org> | 2001-05-31 16:27:09 +0000 |
commit | 02bf1d391c1a9b61f0187b20dfb1dc80d47c63d7 (patch) | |
tree | bea7be4b6a71e5e09ad8efdd024611507aa41b86 /sys/netinet/tcp_timer.c | |
parent | ccaf81e59b9fb849659dce444a165e6226b859b1 (diff) |
Two fixes from Stevens via davidg@freebsd, bug report by
armin@wolfermann.org
- set the persist timer so that connections in CLOSING state timeout
- honor keep-alive timer in CLOSING state.
Fixes the problem in simulaneous close situation where connections
would never leave the CLOSING state and stay arround indefinitly.
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r-- | sys/netinet/tcp_timer.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 4c300249da9..cfa6857a7b4 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_timer.c,v 1.20 2000/12/13 09:47:08 provos Exp $ */ +/* $OpenBSD: tcp_timer.c,v 1.21 2001/05/31 16:27:08 provos Exp $ */ /* $NetBSD: tcp_timer.c,v 1.14 1996/02/13 23:44:09 christos Exp $ */ /* @@ -390,7 +390,7 @@ tcp_timers(tp, timer) if (TCPS_HAVEESTABLISHED(tp->t_state) == 0) goto dropit; if (tp->t_inpcb->inp_socket->so_options & SO_KEEPALIVE && - tp->t_state <= TCPS_CLOSE_WAIT) { + tp->t_state <= TCPS_CLOSING) { if (tp->t_idle >= tcp_keepidle + tcp_maxidle) goto dropit; /* |