Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > media > main-updates-src > by-pkgid > 682fc785f6dc6181f38311723a997729 > files > 45

apache-2.2.24-0.1.src.rpm

--- server/mpm_common.c	2012-08-18 09:25:46.000000000 +0000
+++ server/mpm_common.c.oden	2012-09-03 09:36:19.000000000 +0000
@@ -648,6 +648,7 @@ static apr_status_t dummy_connection(ap_
     apr_socket_t *sock;
     apr_pool_t *p;
     apr_size_t len;
+    ap_listen_rec *lr;
 
     /* create a temporary pool for the socket.  pconf stays around too long */
     rv = apr_pool_create(&p, pod->p);
@@ -655,8 +656,11 @@ static apr_status_t dummy_connection(ap_
         return rv;
     }
 
-    rv = apr_socket_create(&sock, ap_listeners->bind_addr->family,
-                           SOCK_STREAM, 0, p);
+    /* Find an HTTP listener specified first in the configuration. */
+    for (lr = ap_listeners; lr->next != NULL; lr = lr->next)
+        /* noop */;
+
+    rv = apr_socket_create(&sock, lr->bind_addr->family, SOCK_STREAM, 0, p);
     if (rv != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_WARNING, rv, ap_server_conf,
                      "get socket to connect to listener");
@@ -679,7 +683,7 @@ static apr_status_t dummy_connection(ap_
         return rv;
     }
 
-    rv = apr_socket_connect(sock, ap_listeners->bind_addr);
+    rv = apr_socket_connect(sock, lr->bind_addr);
     if (rv != APR_SUCCESS) {
         int log_level = APLOG_WARNING;
 
@@ -692,7 +696,7 @@ static apr_status_t dummy_connection(ap_
         }
 
         ap_log_error(APLOG_MARK, log_level, rv, ap_server_conf,
-                     "connect to listener on %pI", ap_listeners->bind_addr);
+                     "connect to listener on %pI", lr);
         apr_pool_destroy(p);
         return rv;
     }