]> granicus.if.org Git - apache/commitdiff
build the socket address first, then get a matching socket
authorJeff Trawick <trawick@apache.org>
Wed, 14 Apr 2010 17:48:50 +0000 (17:48 +0000)
committerJeff Trawick <trawick@apache.org>
Wed, 14 Apr 2010 17:48:50 +0000 (17:48 +0000)
that resolves an issue where sockaddr_get would return an
AF_INET6/IPv6 address that we'd try to bind to an AF_INET/IPv4
socket

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

support/fcgistarter.c

index 6eff391392830bb8af7a0d2a5f64e830a997725e..2e2c3e5662f775ff8d59ee16a620102717c0fe50 100644 (file)
@@ -123,14 +123,14 @@ int main(int argc, const char * const argv[])
         usage();
     }
 
-    rv = apr_socket_create(&skt, APR_INET, SOCK_STREAM, APR_PROTO_TCP, pool);
+    rv = apr_sockaddr_info_get(&skaddr, interface, APR_UNSPEC, port, 0, pool);
     if (rv) {
-        exit_error(rv, "apr_socket_create");
+        exit_error(rv, "apr_sockaddr_info_get");
     }
 
-    rv = apr_sockaddr_info_get(&skaddr, interface, APR_UNSPEC, port, 0, pool);
+    rv = apr_socket_create(&skt, skaddr->family, SOCK_STREAM, APR_PROTO_TCP, pool);
     if (rv) {
-        exit_error(rv, "apr_sockaddr_info_get");
+        exit_error(rv, "apr_socket_create");
     }
 
     rv = apr_socket_bind(skt, skaddr);