]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
On HPUX 11.x, the 'ENOBUFS, No buffer space available'
authorBill Stoddard <stoddard@apache.org>
Thu, 17 Jan 2002 21:21:09 +0000 (21:21 +0000)
committerBill Stoddard <stoddard@apache.org>
Thu, 17 Jan 2002 21:21:09 +0000 (21:21 +0000)
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

src/CHANGES
src/main/http_main.c

index 5659c6bcb5ca46542fd8c4337fb3f0a07ccfc9c8..828a8ffe68028cb2dd08c51a53b63cc4f764d7cc 100644 (file)
@@ -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
index debb1fb752a3853c7e366cd0cc16a410be81f3a1..23cac62f2dcd2309b42c6df984db49f3a9e8b044 100644 (file)
@@ -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.