Source-Changes-HG archive

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

[src/trunk]: src/external/mpl/bind/dist/lib/isc/unix Make ENOBUFS a soft error



details:   https://anonhg.NetBSD.org/src/rev/c3861fe381c6
branches:  trunk
changeset: 992083:c3861fe381c6
user:      christos <christos%NetBSD.org@localhost>
date:      Mon Aug 13 08:48:46 2018 +0000

description:
Make ENOBUFS a soft error

diffstat:

 external/mpl/bind/dist/lib/isc/unix/socket.c |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (35 lines):

diff -r 3a48c6361e70 -r c3861fe381c6 external/mpl/bind/dist/lib/isc/unix/socket.c
--- a/external/mpl/bind/dist/lib/isc/unix/socket.c      Mon Aug 13 08:46:53 2018 +0000
+++ b/external/mpl/bind/dist/lib/isc/unix/socket.c      Mon Aug 13 08:48:46 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: socket.c,v 1.2 2018/08/12 13:02:39 christos Exp $      */
+/*     $NetBSD: socket.c,v 1.3 2018/08/13 08:48:46 christos Exp $      */
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -258,6 +258,7 @@
 #define SOFT_ERROR(e)  ((e) == EAGAIN || \
                         (e) == EWOULDBLOCK || \
                         (e) == EINTR || \
+                        (e) == ENOBUFS || \
                         (e) == 0)
 
 #define DLVL(x) ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_DEBUG(x)
@@ -1953,7 +1954,7 @@
                SOFT_OR_HARD(EHOSTDOWN, ISC_R_HOSTDOWN);
                /* HPUX 11.11 can return EADDRNOTAVAIL. */
                SOFT_OR_HARD(EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL);
-               ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES);
+               SOFT_OR_HARD(ENOBUFS, ISC_R_NORESOURCES);
                /* Should never get this one but it was seen. */
 #ifdef ENOPROTOOPT
                SOFT_OR_HARD(ENOPROTOOPT, ISC_R_HOSTUNREACH);
@@ -2150,7 +2151,7 @@
                ALWAYS_HARD(EHOSTDOWN, ISC_R_HOSTUNREACH);
 #endif
                ALWAYS_HARD(ENETUNREACH, ISC_R_NETUNREACH);
-               ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES);
+               SOFT_OR_HARD(ENOBUFS, ISC_R_NORESOURCES);
                ALWAYS_HARD(EPERM, ISC_R_HOSTUNREACH);
                ALWAYS_HARD(EPIPE, ISC_R_NOTCONNECTED);
                ALWAYS_HARD(ECONNRESET, ISC_R_CONNECTIONRESET);



Home | Main Index | Thread Index | Old Index