Prechádzať zdrojové kódy

ZOOKEEPER-797 c client source with AI_ADDRCONFIG cannot be compiled with early glibc

git-svn-id: https://svn.apache.org/repos/asf/hadoop/zookeeper/trunk@960686 13f79535-47bb-0310-9956-ffa450edef68
Patrick D. Hunt 15 rokov pred
rodič
commit
e22b26454e
2 zmenil súbory, kde vykonal 5 pridanie a 0 odobranie
  1. 3 0
      CHANGES.txt
  2. 2 0
      src/c/src/zookeeper.c

+ 3 - 0
CHANGES.txt

@@ -78,6 +78,9 @@ IMPROVEMENTS:
 
   ZOOKEEPER-798. Fixup loggraph for FLE changes (Ivan Kelly via phunt)
 
+  ZOOKEEPER-797 c client source with AI_ADDRCONFIG cannot be compiled with
+  early glibc (Qian Ye via phunt)
+
 NEW FEATURES:
   ZOOKEEPER-729. Java client API to recursively delete a subtree.
   (Kay Kay via henry)

+ 2 - 0
src/c/src/zookeeper.c

@@ -545,6 +545,7 @@ int getaddrs(zhandle_t *zh)
             //bug in getaddrinfo implementation when it returns
             //EAI_BADFLAGS or EAI_ADDRFAMILY with AF_UNSPEC and 
             // ai_flags as AI_ADDRCONFIG
+#ifdef AI_ADDRCONFIG
             if ((hints.ai_flags == AI_ADDRCONFIG) && 
                 ((rc ==EAI_BADFLAGS) || (rc == EAI_ADDRFAMILY))) {
                 //reset ai_flags to null
@@ -552,6 +553,7 @@ int getaddrs(zhandle_t *zh)
                 //retry getaddrinfo
                 rc = getaddrinfo(host, port_spec, &hints, &res0);
             }
+#endif
             if (rc != 0) {
                 errno = getaddrinfo_errno(rc);
                 LOG_ERROR(("getaddrinfo: %s\n", strerror(errno)));