lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #26267] Simultaneous close


From: Oleg Tyshev
Subject: [lwip-devel] [bug #26267] Simultaneous close
Date: Tue, 21 Apr 2009 12:17:16 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 GTB5

Follow-up Comment #3, bug #26267 (project lwip):

After both sides calls close() they are in FIN_WAIT_1 state,
but other side doesn't receive last data and FIN because cable is
disconnected.

Cable connected again:
host1 retransmit data and FIN,
but host 2 makes only ACK and doesn't send own FIN.

To go to CLOSING state we need only to receive FIN.
And in CLOSING state we waits ACK for FIN.
But to receive ACK we needs FIN sometimes to send.

http://www.freesoft.org/CIE/Course/Section4/11.htm
http://en.wikipedia.org/wiki/File:Tcp_state_diagram_fixed.svg


I suggest in FIN_WAIT_1 handler following fix
  case FIN_WAIT_1:
...
      } else {
-       tcp_ack_now(pcb);
+       tcp_rexmit_rto(pcb);
        pcb->state = CLOSING;
      }

It looks like retransmission timer doesn't work.

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?26267>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]