Merge branch '462-full-recv-queue-on-netbsd-v9_11' into 'v9_11'

Resolve "Full Recv-Queue"

See merge request isc-projects/bind9!631
This commit is contained in:
Ondřej Surý 2018-08-13 13:33:34 -04:00
commit 8632fb1cd8

View file

@ -256,6 +256,7 @@ typedef enum { poll_idle, poll_active, poll_checking } pollstate_t;
*/
#define SOFT_ERROR(e) ((e) == EAGAIN || \
(e) == EWOULDBLOCK || \
(e) == ENOBUFS || \
(e) == EINTR || \
(e) == 0)
@ -1952,7 +1953,7 @@ doio_recv(isc__socket_t *sock, isc_socketevent_t *dev) {
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);
@ -2149,7 +2150,7 @@ doio_send(isc__socket_t *sock, isc_socketevent_t *dev) {
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);