[Top][All Lists]

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

[lwip-devel] [bug #52471] Change in netconn_recv_data_tcp causing recv r

From: Joel Cunningham
Subject: [lwip-devel] [bug #52471] Change in netconn_recv_data_tcp causing recv regression
Date: Mon, 20 Nov 2017 14:45:10 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0


                 Summary: Change in netconn_recv_data_tcp causing recv
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: jcunningham
            Submitted on: Mon 20 Nov 2017 07:45:09 PM UTC
                Category: sockets/netconn
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
            lwIP version: git head



Found this after pulling up to include
db3a4e31586f8614b0a27b482406b0c212a4e08a, but recv no longer returns 0 during
a remote closure, instead it returns ENOTCONN.

I did a little debugging and what's happening is that in my application, it
reads the last pbuf from recvmbox, but calls netconn_recv_data_tcp() (from
lwip_recv_tcp) again since there is more buffer space. This processes the
close message, deallocates the recvmbox (via netconn_close_shutdown) and
returns ERR_CLSD back to lwip_recv_tcp, but since we did successfully read
data during this call, the 0 return is lost.  Then during the next call to
recv(), we hit the case modified in db3a4e3 and now return ERR_CONN


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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