From: Mark Andrews Date: Wed, 3 Apr 2002 05:41:20 +0000 (+0000) Subject: 1245. [bug] Treat ENOBUFS, ENOMEM and ENFILE as soft errors for X-Git-Tag: v9.0.1^2~8406 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=5d26560e2b93e1aa0334931ec6ccb6045c3581fc;p=thirdparty%2Fbind9.git 1245. [bug] Treat ENOBUFS, ENOMEM and ENFILE as soft errors for accept(). HPUX 11.11 returns ENOBUFS when the TCP connecting is closed before accept. ENOMEM and ENFILE were also recommend by HP to be treated as soft for accept(). --- diff --git a/CHANGES b/CHANGES index 539a8bb5344..a92ee32cd8b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +1245. [bug] Treat ENOBUFS, ENOMEM and ENFILE as soft errors for + accept(). + 1244. [bug] Receiving a TCP message from a blackhole address would prevent further messages being received over that interface. diff --git a/lib/isc/unix/socket.c b/lib/isc/unix/socket.c index 5ae319e84b0..8cc6ffa031e 100644 --- a/lib/isc/unix/socket.c +++ b/lib/isc/unix/socket.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: socket.c,v 1.223 2002/04/02 04:36:50 marka Exp $ */ +/* $Id: socket.c,v 1.224 2002/04/03 05:41:20 marka Exp $ */ #include @@ -1745,6 +1745,9 @@ internal_accept(isc_task_t *me, isc_event_t *ev) { if (SOFT_ERROR(errno)) goto soft_error; switch (errno) { + case ENOBUFS: + case ENFILE: + case ENOMEM: case ECONNRESET: case ECONNABORTED: case EHOSTUNREACH: