]> granicus.if.org Git - apache/commitdiff
Fix a bug in how we select the IP for the POD to connect to for dummy
authorAaron Bannert <aaron@apache.org>
Wed, 12 Dec 2001 23:56:46 +0000 (23:56 +0000)
committerAaron Bannert <aaron@apache.org>
Wed, 12 Dec 2001 23:56:46 +0000 (23:56 +0000)
connects (dislodging a doomed child from the accept mutex). No longer
do we assume that the child is listening to 127.0.0.1, but instead
we just pick the first hostname/port from the listen rec.

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

CHANGES
server/mpm_common.c

diff --git a/CHANGES b/CHANGES
index 157b065fe50b34d32e7cf029322a13975f9ff57f..e36f07bf35c3d00be6c41b91eda91c99641b7a3f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,13 @@
 Changes with Apache 2.0.30-dev
 
+  *) The POD no longer assumes the child is listening on 127.0.0.1
+     and now pulls the first hostname in the list of listeners to
+     perform the dummy connect on. This fixes a bug when the user
+     had configured the Listen directive for an IP other than
+     127.0.0.1. This would result in undead children and error
+     messages such as "Connection refused: connect to listener".
+     [Aaron Bannert]
+
   *) The worker MPM now respects the LockFile setting, needed to
      avoid locking problems with NFS.  [Jeff Trawick]
 
index 5180ea8bb5f090254eb58589ec59986637684bf5..57c3c037ac53f6291e5804f4b2c84eee5fb6795f 100644 (file)
@@ -372,7 +372,8 @@ AP_DECLARE(apr_status_t) ap_mpm_pod_open(apr_pool_t *p, ap_pod_t **pod)
     apr_file_pipe_timeout_set((*pod)->pod_in, 0);
     (*pod)->p = p;
     
-    apr_sockaddr_info_get(&(*pod)->sa, "127.0.0.1", APR_UNSPEC, ap_listeners->bind_addr->port, 0, p);
+    apr_sockaddr_info_get(&(*pod)->sa, ap_listeners->bind_addr->hostname,
+                          APR_UNSPEC, ap_listeners->bind_addr->port, 0, p);
 
     return APR_SUCCESS;
 }