Author: mahadev
Date: Tue Oct  5 22:47:36 2010
New Revision: 1004845

URL: http://svn.apache.org/viewvc?rev=1004845&view=rev
Log:
ZOOKEEPER-804. c unit tests failing due to "assertion cptr failed" (michi 
mutsuzaki via mahadev)

Modified:
    hadoop/zookeeper/branches/branch-3.3/CHANGES.txt
    hadoop/zookeeper/branches/branch-3.3/src/c/src/zookeeper.c

Modified: hadoop/zookeeper/branches/branch-3.3/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.3/CHANGES.txt?rev=1004845&r1=1004844&r2=1004845&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.3/CHANGES.txt (original)
+++ hadoop/zookeeper/branches/branch-3.3/CHANGES.txt Tue Oct  5 22:47:36 2010
@@ -25,6 +25,9 @@ BUGFIXES:
 
   ZOOKEEPER-846. zookeeper client doesn't shut down cleanly on the close call
   (phunt)
+  
+  ZOOKEEPER-804. c unit tests failing due to "assertion cptr failed" (michi
+  mutsuzaki via mahadev)
 
 IMPROVEMENTS:
 

Modified: hadoop/zookeeper/branches/branch-3.3/src/c/src/zookeeper.c
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.3/src/c/src/zookeeper.c?rev=1004845&r1=1004844&r2=1004845&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.3/src/c/src/zookeeper.c (original)
+++ hadoop/zookeeper/branches/branch-3.3/src/c/src/zookeeper.c Tue Oct  5 
22:47:36 2010
@@ -1947,6 +1947,15 @@ int zookeeper_process(zhandle_t *zh, int
             int rc = hdr.err;
             /* Find the request corresponding to the response */
             completion_list_t *cptr = dequeue_completion(&zh->sent_requests);
+
+            /* [ZOOKEEPER-804] Don't assert if zookeeper_close has been 
called. */
+            if (zh->close_requested == 1) {
+                if (cptr) {
+                    destroy_completion_entry(cptr);
+                    cptr = NULL;
+                }
+                return ZINVALIDSTATE;
+            }
             assert(cptr);
             /* The requests are going to come back in order */
             if (cptr->xid != hdr.xid) {


Reply via email to