Commit 25875cba authored by Jeff Trawick's avatar Jeff Trawick
Browse files

back-port this from 2.1-dev:

  Unix MPMs: Stop dropping connections when the file descriptor
  is at least FD_SETSIZE.

Submitted by:	trawick
Reviewed by:	nd, jorton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@103777 13f79535-47bb-0310-9956-ffa450edef68
parent e6add286
Loading
Loading
Loading
Loading
+3 −0
Changes for CHANGES: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
Changes with Apache 2.0.50
  *) Unix MPMs: Stop dropping connections when the file descriptor
     is at least FD_SETSIZE.  [Jeff Trawick]
  *) Fix handling of IPv6 numeric strings in mod_proxy.  [Jeff Trawick]
  *) mod_isapi: send_response_header() failed to copy status string's 
+1 −10
Changes for STATUS: 1 added line, 10 removed lines.
Original line number Diff line number Diff line
APACHE 2.0 STATUS:                                              -*-text-*-
Last modified at [$Date: 2004/05/26 12:13:58 $]
Last modified at [$Date: 2004/05/26 12:22:15 $]

Release:

@@ -393,15 +393,6 @@ PATCHES TO BACKPORT FROM 2.1
	   which implements this, keeping UseCanonicalName Off
	   "as is". 

    * Unix MPMs: Stop dropping connections when the file descriptor
      is at least FD_SETSIZE
        os/unix/unixd.c: r1.63
        server/mpm/experimental/leader/leader.c: r1.37
        server/mpm/experimental/perchild/perchild.c: r1.143
        server/mpm/experimental/threadpool/threadpool.c: r1.25
        server/mpm/worker/worker.c: r1.145
      +1: trawick, nd, jorton

    * ThreadStackSize for Win32 and threaded MPMs
      (if there is sufficient interest I'll pursue getting APR 0.9
      fixed up as well as putting together a patch for httpd 2.0.next
+0 −9
Changes for os/unix/unixd.c: 0 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -465,15 +465,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;
+0 −10
Changes for server/mpm/experimental/leader/leader.c: 0 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -601,16 +601,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) {
+0 −10
Changes for server/mpm/experimental/perchild/perchild.c: 0 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -460,16 +460,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);
    }
Loading