]> granicus.if.org Git - apache/commitdiff
Unix MPMs: Stop dropping connections when the file descriptor
authorJeff Trawick <trawick@apache.org>
Tue, 27 Jan 2004 15:19:58 +0000 (15:19 +0000)
committerJeff Trawick <trawick@apache.org>
Tue, 27 Jan 2004 15:19:58 +0000 (15:19 +0000)
is at least FD_SETSIZE.

That isn't a problem for most users (since poll() is widespread).
On old boxes where select() must be used by APR, APR needs to fail
operations that don't work with such fds.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102419 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
os/unix/unixd.c
server/mpm/experimental/leader/leader.c
server/mpm/experimental/perchild/perchild.c
server/mpm/experimental/threadpool/threadpool.c
server/mpm/worker/worker.c

diff --git a/CHANGES b/CHANGES
index fece570d8b0e101e00633c59621aeb3b17798da9..cb491abcf5a3c7e2f6e8dc685111c97031b5bc35 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@ Changes with Apache 2.1.0-dev
 
   [Remove entries to the current 2.0 section below, when backported]
 
+  *) Unix MPMs: Stop dropping connections when the file descriptor
+     is at least FD_SETSIZE.  [Jeff Trawick]
+
   *) Add core version query function (ap_get_server_revision) and
      accompanying ap_version_t structure (minor MMN bump).
      [AndrĂ© Malo]
index 16c71fcf8acda8e92b8e3e792dff2b0c2017918a..e1d5069b514296d54f1f89ba8821599352f93e9d 100644 (file)
@@ -508,15 +508,6 @@ AP_DECLARE(apr_status_t) unixd_accept(void **accepted, ap_listen_rec *lr,
     if (status == APR_SUCCESS) { 
         *accepted = csd;
         apr_os_sock_get(&sockdes, csd);
-        if (sockdes >= FD_SETSIZE) {
-            ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
-                         "new file descriptor %d is too large; you probably need "
-                         "to rebuild Apache with a larger FD_SETSIZE "
-                         "(currently %d)",
-                         sockdes, FD_SETSIZE);
-            apr_socket_close(csd);
-            return APR_EINTR;
-        } 
 #ifdef TPF
         if (sockdes == 0) {                  /* 0 is invalid socket for TPF */
             return APR_EINTR;
index 16c47c59fd4816bef9c2c704c5d17156f3145587..ad80d92dd083e93e49268330ae7c21c1e589100b 100644 (file)
@@ -644,16 +644,6 @@ static void process_socket(apr_pool_t *p, apr_socket_t *sock, int my_child_num,
     ap_create_sb_handle(&sbh, p, my_child_num, my_thread_num);
     apr_os_sock_get(&csd, sock);
 
-    if (csd >= FD_SETSIZE) {
-        ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
-                     "new file descriptor %d is too large; you probably need "
-                     "to rebuild Apache with a larger FD_SETSIZE "
-                     "(currently %d)", 
-                     csd, FD_SETSIZE);
-        apr_socket_close(sock);
-        return;
-    }
-
     current_conn = ap_run_create_connection(p, ap_server_conf, sock,
                                             conn_id, sbh, bucket_alloc);
     if (current_conn) {
index b683614c6e516cec9b107176a479edb345d32607..c4f4c10f37cf8f98439647aa21d780dba4dbb555 100644 (file)
@@ -503,16 +503,6 @@ static void process_socket(apr_pool_t *p, apr_socket_t *sock, long conn_id,
         ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL, "apr_os_sock_get");
     }
 
-    if (csd >= FD_SETSIZE) {
-        ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
-                     "new file descriptor %d is too large; you probably need "
-                     "to rebuild Apache with a larger FD_SETSIZE "
-                     "(currently %d)", 
-                     csd, FD_SETSIZE);
-        apr_socket_close(sock);
-        return;
-    }
-
     if (thread_socket_table[thread_num] < 0) {
         ap_sock_disable_nagle(sock);
     }
index 66ddb6bcc7847254a5ba9734d99107661d7a05ff..a53a6d3fb64434cc3b9c3981d54f982d318e10a5 100644 (file)
@@ -718,16 +718,6 @@ static void process_socket(apr_pool_t *p, apr_socket_t *sock, int my_child_num,
     ap_create_sb_handle(&sbh, p, my_child_num, my_thread_num);
     apr_os_sock_get(&csd, sock);
 
-    if (csd >= FD_SETSIZE) {
-        ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
-                     "new file descriptor %d is too large; you probably need "
-                     "to rebuild Apache with a larger FD_SETSIZE "
-                     "(currently %d)", 
-                     csd, FD_SETSIZE);
-        apr_socket_close(sock);
-        return;
-    }
-
     current_conn = ap_run_create_connection(p, ap_server_conf, sock,
                                             conn_id, sbh, bucket_alloc);
     if (current_conn) {
index 40fb645e78a64dd4ab9d30f0dc1b13226deabaa6..874125e603d9aa4d12ce2c6f2da816bda9274f43 100644 (file)
@@ -557,16 +557,6 @@ static void process_socket(apr_pool_t *p, apr_socket_t *sock, int my_child_num,
     ap_create_sb_handle(&sbh, p, my_child_num, my_thread_num);
     apr_os_sock_get(&csd, sock);
 
-    if (csd >= FD_SETSIZE) {
-        ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
-                     "new file descriptor %d is too large; you probably need "
-                     "to rebuild Apache with a larger FD_SETSIZE "
-                     "(currently %d)", 
-                     csd, FD_SETSIZE);
-        apr_socket_close(sock);
-        return;
-    }
-
     current_conn = ap_run_create_connection(p, ap_server_conf, sock,
                                             conn_id, sbh, bucket_alloc);
     if (current_conn) {