You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by he...@apache.org on 2012/03/31 00:29:09 UTC

svn commit: r1307644 - in /zookeeper/trunk: CHANGES.txt src/contrib/zkpython/src/c/zookeeper.c

Author: henry
Date: Fri Mar 30 22:29:08 2012
New Revision: 1307644

URL: http://svn.apache.org/viewvc?rev=1307644&view=rev
Log:
ZOOKEEPER-1395. node-watcher double-free redux (Mike Lundy via henryr)

Modified:
    zookeeper/trunk/CHANGES.txt
    zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c

Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1307644&r1=1307643&r2=1307644&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Fri Mar 30 22:29:08 2012
@@ -166,6 +166,8 @@ BUGFIXES:
   ZOOKEEPER-1419. Leader election never settles for a 5-node cluster (flavio via camille)
 
   ZOOKEEPER-1433. improve ZxidRolloverTest (test seems flakey) (phunt via henryr)
+
+  ZOOKEEPER-1395. node-watcher double-free redux (Mike Lundy via henryr)
    
 IMPROVEMENTS:
 

Modified: zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c?rev=1307644&r1=1307643&r2=1307644&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c (original)
+++ zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c Fri Mar 30 22:29:08 2012
@@ -436,7 +436,7 @@ void watcher_dispatch(zhandle_t *zzh, in
   if (PyObject_CallObject((PyObject*)callback, arglist) == NULL) {
     PyErr_Print();
   }
-  if (pyw->permanent == 0 && (type != ZOO_SESSION_EVENT || is_unrecoverable(zzh))) {
+  if (pyw->permanent == 0 && (type != ZOO_SESSION_EVENT || state < 0)) {
     free_pywatcher(pyw);
   }
   PyGILState_Release(gstate);