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: Ambroz Bizjak
Subject: [lwip-devel] [bug #46696] accepts_pending not decreased when TCP_EVENT_ACCEPT returns error
Date: Thu, 21 Jan 2016 17:56:51 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36

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

Hey Joel,

Isn't the problem with not having the listener reference only in
tcp_accept_null? That one can just do the same thing as tcp_pcb_purge does -
find the listener. In my patch this is the function
tcp_pcb_decrement_accepts_pending_of_listener(). So all that needs to be done
is to fix tcp_accept_null:


static err_t tcp_accept_null(void *arg, struct tcp_pcb *pcb, err_t err)
{
  LWIP_UNUSED_ARG(arg);
  LWIP_UNUSED_ARG(pcb);
  LWIP_UNUSED_ARG(err);

  tcp_pcb_decrement_accepts_pending_of_listener(pcb);
  tcp_abort(pcb);

  return ERR_ABRT;
}

On the other hand I'm not so sure the netconn is handling the accept reference
right. For one thing it doesn't seem to release it in the PCB's error callback
(err_tcp). Also I find the tcp_accepted() in lwip_netconn_do_recv()
suspicions.

Please be aware though that I don't have a real interest in netconn...

    _______________________________________________________

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]