From: Jeff Trawick Date: Wed, 14 Apr 2010 17:48:50 +0000 (+0000) Subject: build the socket address first, then get a matching socket X-Git-Tag: 2.3.6~209 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b9acfe62656f3475f12cbf449ad6aa4d80f3957;p=apache build the socket address first, then get a matching socket 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 --- diff --git a/support/fcgistarter.c b/support/fcgistarter.c index 6eff391392..2e2c3e5662 100644 --- a/support/fcgistarter.c +++ b/support/fcgistarter.c @@ -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);