]> granicus.if.org Git - apache/commitdiff
On HPUX 11.x, the 'ENOBUFS, No buffer space available'
authorBill Stoddard <stoddard@apache.org>
Thu, 17 Jan 2002 22:35:09 +0000 (22:35 +0000)
committerBill Stoddard <stoddard@apache.org>
Thu, 17 Jan 2002 22:35:09 +0000 (22:35 +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/trunk@92894 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
os/unix/unixd.c

diff --git a/CHANGES b/CHANGES
index 0584ed86b70bcc22f9010fc792eb949f6e507dae..dc88eac1add749d9ed9ef1aa31bae1a989e74ee0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,8 @@
 Changes with Apache 2.0.31-dev
+  *) HPUX 11.*: Do not kill the child process when accept() 
+     returns ENOBUFS on HPUX 11.*. (ported from a 1.3 patch
+     by [madhusudan_mathihalli@hp.com])
+     [Bill Stoddard]
 
   *) Fix a problem in the parsing of the <Proxy foo> directive.
      [Jeff Trawick]
index e023c3864e9c0a4d70330a688613219b1b9e5afc..f7061bdc078a44f2b8b4710558ddb204c5cd046b 100644 (file)
@@ -485,6 +485,18 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
      * to just exit in most cases.
      */
     switch (status) {
+#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.