Browse Source

ZOOKEEPER-1380. zkperl: _zk_release_watch doesn't remove items properly from the watch list. (Botond Hejj via mahadev)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1381897 13f79535-47bb-0310-9956-ffa450edef68
Mahadev Konar 12 năm trước cách đây
mục cha
commit
9d52877a46
2 tập tin đã thay đổi với 5 bổ sung2 xóa
  1. 3 0
      CHANGES.txt
  2. 2 2
      src/contrib/zkperl/ZooKeeper.xs

+ 3 - 0
CHANGES.txt

@@ -237,6 +237,9 @@ BUGFIXES:
   ZOOKEEPER-1105 c client zookeeper_close not send CLOSE_OP request to server
   (lincoln.lee via michim)
 
+  ZOOKEEPER-1380. zkperl: _zk_release_watch doesn't remove items properly from
+  the watch list. (Botond Hejj via mahadev)
+
 IMPROVEMENTS:
 
   ZOOKEEPER-1170. Fix compiler (eclipse) warnings: unused imports,

+ 2 - 2
src/contrib/zkperl/ZooKeeper.xs

@@ -251,12 +251,12 @@ static void _zk_release_watch(pTHX_ zk_watch_t *watch, int list)
     if (list) {
         if (watch->prev) {
             watch->prev->next = watch->next;
-            watch->prev = NULL;
         }
         if (watch->next) {
             watch->next->prev = watch->prev;
-            watch->next = NULL;
         }
+        watch->prev = NULL;
+        watch->next = NULL;
     }
 
     if (--watch->ref_count == 0) {