Source-Changes-HG archive

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

[src/trunk]: src/external/bsd/bind/dist/lib/isc/unix make ENOBUFS a soft erro...



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

description:
make ENOBUFS a soft error (from roy@)

diffstat:

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

diffs (35 lines):

diff -r 637b01b00345 -r 0ca97c076b1c external/bsd/bind/dist/lib/isc/unix/socket.c
--- a/external/bsd/bind/dist/lib/isc/unix/socket.c      Mon Aug 13 08:38:22 2018 +0000
+++ b/external/bsd/bind/dist/lib/isc/unix/socket.c      Mon Aug 13 08:46:53 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: socket.c,v 1.22 2018/04/07 22:23:23 christos Exp $     */
+/*     $NetBSD: socket.c,v 1.23 2018/08/13 08:46:53 christos Exp $     */
 
 /*
  * Copyright (C) 2004-2018  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)
@@ -1920,7 +1921,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);
@@ -2116,7 +2117,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