[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-566-g36e7045

Stefan Metzmacher metze at samba.org
Thu Mar 19 13:40:09 GMT 2009


The branch, master has been updated
       via  36e7045340bbc7d6567008bdd87c4cdf717835bd (commit)
      from  88dd6af605dc5754b7e146a068272d37651da710 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 36e7045340bbc7d6567008bdd87c4cdf717835bd
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Mar 19 14:31:43 2009 +0100

    tevent: fix the nesting logic
    
    Only tevent_loop_once and tevent_loop_until() should care
    about the nesting level.
    
    This fixes the samba3 printing code where we use tevent_loop_wait()
    and don't allow nested events.
    
    We still call the nesting hook for all levels, we need to decide
    if we really want this...
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 lib/tevent/tevent.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tevent/tevent.c b/lib/tevent/tevent.c
index 56fd6ae..0c02e46 100644
--- a/lib/tevent/tevent.c
+++ b/lib/tevent/tevent.c
@@ -468,6 +468,8 @@ int _tevent_loop_once(struct tevent_context *ev, const char *location)
 			errno = ELOOP;
 			return -1;
 		}
+	}
+	if (ev->nesting.level > 0) {
 		if (ev->nesting.hook_fn) {
 			int ret2;
 			ret2 = ev->nesting.hook_fn(ev,
@@ -485,7 +487,7 @@ int _tevent_loop_once(struct tevent_context *ev, const char *location)
 
 	ret = ev->ops->loop_once(ev, location);
 
-	if (ev->nesting.level > 1) {
+	if (ev->nesting.level > 0) {
 		if (ev->nesting.hook_fn) {
 			int ret2;
 			ret2 = ev->nesting.hook_fn(ev,
@@ -525,6 +527,8 @@ int _tevent_loop_until(struct tevent_context *ev,
 			errno = ELOOP;
 			return -1;
 		}
+	}
+	if (ev->nesting.level > 0) {
 		if (ev->nesting.hook_fn) {
 			int ret2;
 			ret2 = ev->nesting.hook_fn(ev,
@@ -547,7 +551,7 @@ int _tevent_loop_until(struct tevent_context *ev,
 		}
 	}
 
-	if (ev->nesting.level > 1) {
+	if (ev->nesting.level > 0) {
 		if (ev->nesting.hook_fn) {
 			int ret2;
 			ret2 = ev->nesting.hook_fn(ev,
@@ -601,9 +605,5 @@ int tevent_common_loop_wait(struct tevent_context *ev,
 */
 int _tevent_loop_wait(struct tevent_context *ev, const char *location)
 {
-	int ret;
-	ev->nesting.level++;
-	ret = ev->ops->loop_wait(ev, location);
-	ev->nesting.level--;
-	return ret;
+	return ev->ops->loop_wait(ev, location);
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list