Hello!
> FIN-WAIT-2?
>
> I saw LAST-ACK sockets in the thread and I looked for them.
>
> Please explain why you think it is a noop.
static inline void tcp_check_fin_timer(struct sock *sk)
{
if (sk->state == TCP_FIN_WAIT2 && !sk->timer.prev)
tcp_reset_msl_timer(sk, TIME_CLOSE, sysctl_tcp_fin_timeout);
}
See? fin timer is started only in FIN-WAIT-2.
> Now if there were fin-wait-2 and other sockets with no timers too
> that would be another bug.
Idle sockets, not closed by user, have no timer (not counting optional
SO_KEEPALIVE), because it is useless. Particularly, socket in FIN-WAIT-2
is held infinitely until user close it. In any state, when socket has some
data to send (f.e. LAST_ACK), either retransmit or probe timer is active.
In this case (when corking locked FIN) probe timer must be active, but
I suspect it also disappeared and this really will be bug.
Alexey
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Jan 15 2000 - 21:00:24 EST