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: Joel Cunningham
Subject: [lwip-devel] [bug #46696] accepts_pending not decreased when TCP_EVENT_ACCEPT returns error
Date: Mon, 18 Jan 2016 17:19:38 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0

Follow-up Comment #4, bug #46696 (project lwip):

Ambroz,

Other network stacks maintain two queues of connections for the backlog: one
for in-progress connections (SYN_RCVD) and a separate queue for completed
connections (ESTABLISHED) that have not been accepted by the application.  As
the stack completes connections from the in-progress queue, the are moved to
the completed queue and the application is notified it can call accept(). 
Once accept() is called, the completed queue is decremented.  The backlog
value is the count of both queues.

LwIP is in-affect implementing the same mechanism, but without actually
maintaining queues/lists.  The backlog value (accepts_pending) covers the
count of both queues.

With your suggestion, we would be removing the queue of "completed but not
accepted" connections from the backlog tracking

I think the problem is that since we aren't maintaining a list of PCBs that
are ESTABLISHED but not accepted, we don't know in tcp_pcb_purge() when to
decrement the accepts_pending value other than for PCBs in SYC_RCVD

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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