ERR_IF is not necessarily a fatal error (fixes bug #46338: UDP netconns block after fatal error)

This commit is contained in:
sg 2016-03-05 16:15:04 +01:00
parent b00a17059a
commit 375ec36246
4 changed files with 18 additions and 16 deletions

View File

@ -302,6 +302,9 @@ HISTORY
++ Bugfixes:
2016-03-05: Simon Goldschmidt
* err.h/.c, sockets.c: ERR_IF is not necessarily a fatal error
2015-11-19: fix by Kerem Hadimli
* sockets.c: fixed bug #46471: lwip_accept() leaks socket descriptors if new
netconn was already closed because of peer behavior

View File

@ -53,11 +53,11 @@ static const char *err_strerr[] = {
"Already connecting.", /* ERR_ALREADY -9 */
"Already connected.", /* ERR_ISCONN -10 */
"Not connected.", /* ERR_CONN -11 */
"Connection aborted.", /* ERR_ABRT -12 */
"Connection reset.", /* ERR_RST -13 */
"Connection closed.", /* ERR_CLSD -14 */
"Illegal argument.", /* ERR_ARG -15 */
"Low-level netif error." /* ERR_IF -16 */
"Low-level netif error.", /* ERR_IF -12 */
"Connection aborted.", /* ERR_ABRT -13 */
"Connection reset.", /* ERR_RST -14 */
"Connection closed.", /* ERR_CLSD -15 */
"Illegal argument."v /* ERR_ARG -16 */
};
/**

View File

@ -298,11 +298,11 @@ static const int err_to_errno_table[] = {
EALREADY, /* ERR_ALREADY -9 Already connecting. */
EISCONN, /* ERR_ISCONN -10 Conn already established.*/
ENOTCONN, /* ERR_CONN -11 Not connected. */
ECONNABORTED, /* ERR_ABRT -12 Connection aborted. */
ECONNRESET, /* ERR_RST -13 Connection reset. */
ENOTCONN, /* ERR_CLSD -14 Connection closed. */
EIO, /* ERR_ARG -15 Illegal argument. */
-1, /* ERR_IF -16 Low-level netif error */
-1, /* ERR_IF -12 Low-level netif error */
ECONNABORTED, /* ERR_ABRT -13 Connection aborted. */
ECONNRESET, /* ERR_RST -14 Connection reset. */
ENOTCONN, /* ERR_CLSD -15 Connection closed. */
EIO /* ERR_ARG -16 Illegal argument. */
};
#define ERR_TO_ERRNO_TABLE_SIZE LWIP_ARRAYSIZE(err_to_errno_table)

View File

@ -62,15 +62,14 @@ typedef s8_t err_t;
#define ERR_ISCONN -10 /* Conn already established.*/
#define ERR_CONN -11 /* Not connected. */
#define ERR_IF -12 /* Low-level netif error */
#define ERR_IS_FATAL(e) ((e) < ERR_CONN)
#define ERR_ABRT -12 /* Connection aborted. */
#define ERR_RST -13 /* Connection reset. */
#define ERR_CLSD -14 /* Connection closed. */
#define ERR_ABRT -13 /* Connection aborted. */
#define ERR_RST -14 /* Connection reset. */
#define ERR_CLSD -15 /* Connection closed. */
#define ERR_ARG -15 /* Illegal argument. */
#define ERR_IF -16 /* Low-level netif error */
#define ERR_ARG -16 /* Illegal argument. */
#ifdef LWIP_DEBUG