lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #46696] accepts_pending not decreased when TCP_EVENT_A


From: Simon Goldschmidt
Subject: [lwip-devel] [bug #46696] accepts_pending not decreased when TCP_EVENT_ACCEPT returns error
Date: Wed, 23 Mar 2016 07:45:20 +0000
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36

Update of bug #46696 (project lwip):

                  Status:             In Progress => Fixed                  
             Open/Closed:                    Open => Closed                 

    _______________________________________________________

Follow-up Comment #14:

Fixed by changing accept and backlog: instead of having an accept callback in
the cnnection pcb, there is now a pointer to the listening pcb. That way,
accepts_pending can be decreased very fast. This is now done internally in the
stack ('tcp_accepted()' got useless now).

An application can delay decreasing 'accepts_pending' by manually calling
'tcp_backlog_delayed()' and 'tcp_backlog_accepted()' (which is what
netconns/sockets now do).

The only downside is that when a listener is closed, all tcp pcb lists have to
be traversed to reset the 'listener' pointer, but that should happen so often
anyway...

    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  Nachricht gesendet von/durch Savannah
  http://savannah.nongnu.org/




reply via email to

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