You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ma...@apache.org on 2009/02/27 21:04:37 UTC
svn commit: r748676 - in /hadoop/zookeeper/branches/branch-3.1: CHANGES.txt
src/c/src/zookeeper.c
Author: mahadev
Date: Fri Feb 27 20:04:36 2009
New Revision: 748676
URL: http://svn.apache.org/viewvc?rev=748676&view=rev
Log:
ZOOKEEPER-320. call auth completion in free_completions(). (chris darroch via mahadev)
Modified:
hadoop/zookeeper/branches/branch-3.1/CHANGES.txt
hadoop/zookeeper/branches/branch-3.1/src/c/src/zookeeper.c
Modified: hadoop/zookeeper/branches/branch-3.1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/CHANGES.txt?rev=748676&r1=748675&r2=748676&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/CHANGES.txt (original)
+++ hadoop/zookeeper/branches/branch-3.1/CHANGES.txt Fri Feb 27 20:04:36 2009
@@ -17,6 +17,9 @@
ZOOKEEPER-319. add locking around auth info in zhandle_t (chris darroch via
mahadev)
+ ZOOKEEPER-320. call auth completion in free_completions(). (chris darroch
+via mahadev)
+
IMPROVEMENTS:
NEW FEATURES:
Modified: hadoop/zookeeper/branches/branch-3.1/src/c/src/zookeeper.c
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/branches/branch-3.1/src/c/src/zookeeper.c?rev=748676&r1=748675&r2=748676&view=diff
==============================================================================
--- hadoop/zookeeper/branches/branch-3.1/src/c/src/zookeeper.c (original)
+++ hadoop/zookeeper/branches/branch-3.1/src/c/src/zookeeper.c Fri Feb 27 20:04:36 2009
@@ -761,6 +761,8 @@
completion_head_t tmp_list;
struct oarchive *oa;
struct ReplyHeader h;
+ void_completion_t auth_completion = NULL;
+ const char *auth_data = NULL;
lock_completion_list(&zh->sent_requests);
tmp_list = zh->sent_requests;
@@ -800,6 +802,18 @@
}
}
}
+
+ zoo_lock_auth(zh);
+ if (zh->auth.completion) {
+ auth_completion = zh->auth.completion;
+ auth_data = zh->auth.data;
+ zh->auth.completion = 0;
+ }
+ zoo_unlock_auth(zh);
+
+ if (auth_completion) {
+ auth_completion(reason, auth_data);
+ }
}
static void cleanup_bufs(zhandle_t *zh,int callCompletion,int rc)