[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha7-267-g97cccb2

Simo Sorce idra at samba.org
Tue Mar 10 15:09:41 GMT 2009


The branch, master has been updated
       via  97cccb22194380ce84bf6188df90e2438f1176db (commit)
      from  9579a6f193f570e4ce2af80f4aac7c2f25ae5b22 (commit)

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


- Log -----------------------------------------------------------------
commit 97cccb22194380ce84bf6188df90e2438f1176db
Author: Simo Sorce <idra at samba.org>
Date:   Tue Mar 10 10:05:52 2009 -0400

    Fix extended operation return path.
    
    Extended operations return was not going thorugh the same patch as others
    leaving the ctx around. Plus we were neutralizing the spy too early so that it
    didn't set the request_terminated flag as it should have.
    
    This should hopefully fix the failures in the build farm.

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

Summary of changes:
 source4/lib/ldb/ldb_tdb/ldb_tdb.c |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/lib/ldb/ldb_tdb/ldb_tdb.c b/source4/lib/ldb/ldb_tdb/ldb_tdb.c
index d38cb82..9df62be 100644
--- a/source4/lib/ldb/ldb_tdb/ldb_tdb.c
+++ b/source4/lib/ldb/ldb_tdb/ldb_tdb.c
@@ -1020,13 +1020,14 @@ static void ltdb_timeout(struct tevent_context *ev,
 	ctx = talloc_get_type(private_data, struct ltdb_context);
 
 	if (!ctx->request_terminated) {
-		/* neutralize the spy */
-		ctx->spy->ctx = NULL;
-
 		/* request is done now */
 		ltdb_request_done(ctx, LDB_ERR_TIME_LIMIT_EXCEEDED);
 	}
 
+	if (!ctx->request_terminated) {
+		/* neutralize the spy */
+		ctx->spy->ctx = NULL;
+	}
 	talloc_free(ctx);
 }
 
@@ -1086,10 +1087,9 @@ static void ltdb_callback(struct tevent_context *ev,
 
 	ctx = talloc_get_type(private_data, struct ltdb_context);
 
-	if (!ctx->request_terminated) {
-		/* neutralize the spy */
-		ctx->spy->ctx = NULL;
-	} else goto done;
+	if (ctx->request_terminated) {
+		goto done;
+	}
 
 	switch (ctx->req->operation) {
 	case LDB_SEARCH:
@@ -1109,7 +1109,7 @@ static void ltdb_callback(struct tevent_context *ev,
 		break;
 	case LDB_EXTENDED:
 		ltdb_handle_extended(ctx);
-		return;
+		goto done;
 	default:
 		/* no other op supported */
 		ret = LDB_ERR_UNWILLING_TO_PERFORM;
@@ -1121,6 +1121,10 @@ static void ltdb_callback(struct tevent_context *ev,
 	}
 
 done:
+	if (!ctx->request_terminated) {
+		/* neutralize the spy */
+		ctx->spy->ctx = NULL;
+	}
 	talloc_free(ctx);
 }
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list