From 5d26560e2b93e1aa0334931ec6ccb6045c3581fc Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Wed, 3 Apr 2002 05:41:20 +0000 Subject: [PATCH] 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(). --- CHANGES | 3 +++ lib/isc/unix/socket.c | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 539a8bb534..a92ee32cd8 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 5ae319e84b..8cc6ffa031 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: