diff options
| author | David Greenman <dg@FreeBSD.org> | 1998-04-24 09:25:39 +0000 |
|---|---|---|
| committer | David Greenman <dg@FreeBSD.org> | 1998-04-24 09:25:39 +0000 |
| commit | 552b7df4c150cdd39d72efbb07b8766bba57174a (patch) | |
| tree | 34d24b3a0dd8567ad6e44924efa5b1532ba9a662 /sys/netinet/tcp_timer.c | |
| parent | 1667f2b3e51443ff1ed48ac7d34480f450786540 (diff) | |
Notes
Diffstat (limited to 'sys/netinet/tcp_timer.c')
| -rw-r--r-- | sys/netinet/tcp_timer.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 65ace37ab6e9..112ce578f7b2 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_timer.c 8.2 (Berkeley) 5/24/95 - * $Id: tcp_timer.c,v 1.26 1998/02/26 05:25:33 dg Exp $ + * $Id: tcp_timer.c,v 1.27 1998/04/06 06:52:46 phk Exp $ */ #include "opt_compat.h" @@ -308,17 +308,12 @@ tcp_timers(tp, timer) * (no responses to probes) reaches the maximum * backoff that we would use if retransmitting. */ - if (tp->t_rxtshift == TCP_MAXRXTSHIFT) { - u_long maxidle = TCP_REXMTVAL(tp); - if (maxidle < tp->t_rttmin) - maxidle = tp->t_rttmin; - maxidle *= tcp_totbackoff; - if (tp->t_idle >= tcp_maxpersistidle || - tp->t_idle >= maxidle) { - tcpstat.tcps_persistdrop++; - tp = tcp_drop(tp, ETIMEDOUT); - break; - } + if (tp->t_rxtshift == TCP_MAXRXTSHIFT && + (tp->t_idle >= tcp_maxpersistidle || + tp->t_idle >= TCP_REXMTVAL(tp) * tcp_totbackoff)) { + tcpstat.tcps_persistdrop++; + tp = tcp_drop(tp, ETIMEDOUT); + break; } tcp_setpersist(tp); tp->t_force = 1; |
