浏览代码

ZOOKEEPER-1117. zookeeper 3.3.3 fails to build with gcc >= 4.6.1 on Debian/Ubuntu (James Page via mahadev)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1162013 13f79535-47bb-0310-9956-ffa450edef68
Mahadev Konar 13 年之前
父节点
当前提交
de63c67273
共有 3 个文件被更改,包括 11 次插入6 次删除
  1. 3 0
      CHANGES.txt
  2. 7 5
      src/c/src/cli.c
  3. 1 1
      src/c/src/zookeeper.c

+ 3 - 0
CHANGES.txt

@@ -292,6 +292,9 @@ BUGFIXES:
   
   ZOOKEEPER-1025. zkCli is overly sensitive to to spaces. (Laxman via camille)
 
+  ZOOKEEPER-1117. zookeeper 3.3.3 fails to build with gcc >= 4.6.1 on
+  Debian/Ubuntu (James Page via mahadev)
+
 IMPROVEMENTS:
   ZOOKEEPER-724. Improve junit test integration - log harness information 
   (phunt via mahadev)

+ 7 - 5
src/c/src/cli.c

@@ -595,11 +595,13 @@ int main(int argc, char **argv) {
         FD_SET(0, &rfds);
         rc = select(fd+1, &rfds, &wfds, &efds, &tv);
         events = 0;
-        if (FD_ISSET(fd, &rfds)) {
-            events |= ZOOKEEPER_READ;
-        }
-        if (FD_ISSET(fd, &wfds)) {
-            events |= ZOOKEEPER_WRITE;
+        if (rc > 0) {
+            if (FD_ISSET(fd, &rfds)) {
+                events |= ZOOKEEPER_READ;
+            }
+            if (FD_ISSET(fd, &wfds)) {
+                events |= ZOOKEEPER_WRITE;
+            }
         }
         if(batchMode && processed==0){
           //batch mode

+ 1 - 1
src/c/src/zookeeper.c

@@ -480,7 +480,7 @@ int getaddrs(zhandle_t *zh)
         *port_spec = '\0';
         port_spec++;
         port = strtol(port_spec, &end_port_spec, 0);
-        if (!*port_spec || *end_port_spec) {
+        if (!*port_spec || *end_port_spec || port == 0) {
             LOG_ERROR(("invalid port in %s", host));
             errno=EINVAL;
             rc=ZBADARGUMENTS;