diff options
author | sf <sf@13f79535-47bb-0310-9956-ffa450edef68> | 2012-05-21 20:38:41 +0000 |
---|---|---|
committer | sf <sf@13f79535-47bb-0310-9956-ffa450edef68> | 2012-05-21 20:38:41 +0000 |
commit | 284b11598b50b29c03952262d064fa360b304538 (patch) | |
tree | 31cbe3ca7d509087cfe3f8c7893ec01e21eae818 /network_io | |
parent | dbaadf18d32f6c1ff1043941638d8e85df771492 (diff) | |
download | libapr-284b11598b50b29c03952262d064fa360b304538.tar.gz |
If we retry getaddrinfo() without AI_ADDRCONFIG, we should really only remove
AI_ADDRCONFIG and not all flags.
When the retry logic was added in r64571, this was equivalent because not
other flags were set. But this has changed since then.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1341196 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r-- | network_io/unix/sockaddr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c index 3a98267c9..efa7ee09e 100644 --- a/network_io/unix/sockaddr.c +++ b/network_io/unix/sockaddr.c @@ -365,8 +365,8 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa, error = getaddrinfo(hostname, servname, &hints, &ai_list); #ifdef HAVE_GAI_ADDRCONFIG if (error == EAI_BADFLAGS && family == APR_UNSPEC) { - /* Retry with no flags if AI_ADDRCONFIG was rejected. */ - hints.ai_flags = 0; + /* Retry without AI_ADDRCONFIG if it was rejected. */ + hints.ai_flags &= ~AI_ADDRCONFIG; error = getaddrinfo(hostname, servname, &hints, &ai_list); } #endif |