lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #46338] UDP netconns block after fatal error


From: Ivan Delamer
Subject: [lwip-devel] [bug #46338] UDP netconns block after fatal error
Date: Fri, 30 Oct 2015 16:15:09 +0000
User-agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0

URL:
  <http://savannah.nongnu.org/bugs/?46338>

                 Summary: UDP netconns block after fatal error
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: idelamer
            Submitted on: Fri 30 Oct 2015 10:15:06 AM MDT
                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: 1.5.0
            lwIP version: git head

    _______________________________________________________

Details:

Netconns remember the last error. If last error was fatal, subsequent calls to
send/recv/etc return with the same error.

I've been in the situation where the netif returns ERR_IF, e.g. when there is
a buffer error, or cable is disconnected, etc. I know probably there should be
ERR_MEM, or netif should be set to down. But sometimes this error comes before
netif is set down.

ERR_IF is a fatal error. Makes sense perhaps for TCP netconn to kill the
connection. But for UDP, where maybe we're listening on multiple netifs, this
kills the netconn indefinitely.

Possible fixes:
- Make ERR_IF non-fatal
- Check for fatal last_err only for TCP PCBs
- Specify that ERR_IF is for permanent netif errors (not likely, most are
temporary...)




    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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