[Ns-bugs] [Bug 559] TcpSocketImpl doesn’t free endpoint quickly enough after being closed

code@nsnam.ece.gatech.edu code at nsnam.ece.gatech.edu
Tue Jun 30 00:34:20 PDT 2009


http://www.nsnam.org/bugzilla/show_bug.cgi?id=559


Ewgenij Starostin <estar at cs.tu-berlin.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |




--- Comment #5 from Ewgenij Starostin <estar at cs.tu-berlin.de>  2009-06-30 03:34:20 EDT ---
Looking at it again, this change fixes the problem if the socket changed state
between Bind() and Close(), but not if there was no Listen() or similar between
those calls.

Removing the check for saveState != CLOSED would fix that, but would (probably)
cause problems whenever actions occur in the CLOSED state without a state
change, e. g. for
  aT[CLOSED][SYN_RX]      = SA (CLOSED,   RST_TX);
where the socket name shouldn’t be reset.

I can’t think of a nice way to fix it; maybe a new action to replace NO_ACT
in
  aT[CLOSED][APP_CLOSE]   = SA (CLOSED,   NO_ACT);
would be the right place to free the endpoint explicitly in this case.

Attaching tests for NS3 and Linux to illustrate the difference in behaviour.


-- 
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Ns-bugs mailing list