From: Bill Stoddard Date: Thu, 17 Jan 2002 21:21:09 +0000 (+0000) Subject: On HPUX 11.x, the 'ENOBUFS, No buffer space available' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=841f8a0a6ee3c1862ddf8c15f1384f09a9a587ca;p=thirdparty%2Fapache%2Fhttpd.git On HPUX 11.x, the 'ENOBUFS, No buffer space available' error occures because the accept() cannot complete. You will not see ENOBUFS at 10.20 because the kernel hides any occurrence from being returned from user space. ENOBUFS at 11.0 TCP/IP is quite possible, and could occur intermittently. As a work-around, we are going to ingnore ENOBUFS. Submitted by: madhusudan_mathihalli@hp.com Reviewed by: Bill Stoddard git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@92892 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/CHANGES b/src/CHANGES index 5659c6bcb5c..828a8ffe680 100644 --- a/src/CHANGES +++ b/src/CHANGES @@ -1,4 +1,7 @@ Changes with Apache 1.3.23 + *) HPUX 11.*: Do not kill the child process when accept() + returns ENOBUFS on HPUX 11.*. + [madhusudan_mathihalli@hp.com] *) PORT: Numerous additions to Cygwin, including: defaulting to Posix thread accept mutex, excluding the call to diff --git a/src/main/http_main.c b/src/main/http_main.c index debb1fb752a..23cac62f2dc 100644 --- a/src/main/http_main.c +++ b/src/main/http_main.c @@ -4358,6 +4358,19 @@ static void child_main(int child_num_arg) * to just exit in most cases. */ switch (errno) { + +#if defined(HPUX11) && defined(ENOBUFS) + /* On HPUX 11.x, the 'ENOBUFS, No buffer space available' + * error occures because the accept() cannot complete. + * You will not see ENOBUFS at 10.20 because the kernel + * hides any occurrence from being returned from user space. + * ENOBUFS at 11.0 TCP/IP is quite possible, and could + * occur intermittently. As a work-around, we are going to + * ingnore ENOBUFS. + */ + case ENOBUFS: +#endif + #ifdef EPROTO /* EPROTO on certain older kernels really means * ECONNABORTED, so we need to ignore it for them.