dovecot-2.0: Fix to previous cache changes: Cache transaction wa...

dovecot at dovecot.org dovecot at dovecot.org
Tue Jul 14 02:58:04 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/430832cf3cf0
changeset: 9619:430832cf3cf0
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Jul 13 19:26:07 2009 -0400
description:
Fix to previous cache changes: Cache transaction was commited too early.

diffstat:

6 files changed, 6 insertions(+), 14 deletions(-)
src/lib-storage/index/cydir/cydir-transaction.c     |    4 +---
src/lib-storage/index/dbox/dbox-transaction.c       |    4 +---
src/lib-storage/index/index-transaction.c           |    1 +
src/lib-storage/index/maildir/maildir-transaction.c |    4 +---
src/lib-storage/index/mbox/mbox-transaction.c       |    4 +---
src/lib-storage/index/raw/raw-transaction.c         |    3 +--

diffs (100 lines):

diff -r 8bdfb66bf660 -r 430832cf3cf0 src/lib-storage/index/cydir/cydir-transaction.c
--- a/src/lib-storage/index/cydir/cydir-transaction.c	Mon Jul 13 18:56:16 2009 -0400
+++ b/src/lib-storage/index/cydir/cydir-transaction.c	Mon Jul 13 19:26:07 2009 -0400
@@ -66,13 +66,11 @@ static void cydir_transaction_created(st
 
 		mt = i_new(struct cydir_transaction_context, 1);
 		mt->ictx.trans = t;
-		mt->ictx.super = t->v;
+		index_transaction_init(&mt->ictx, &cydir->ibox);
 
 		t->v.commit = cydir_transaction_commit;
 		t->v.rollback = cydir_transaction_rollback;
 		MODULE_CONTEXT_SET(t, mail_storage_mail_index_module, mt);
-
-		index_transaction_init(&mt->ictx, &cydir->ibox);
 	}
 
 	if (next_hook_mail_index_transaction_created != NULL)
diff -r 8bdfb66bf660 -r 430832cf3cf0 src/lib-storage/index/dbox/dbox-transaction.c
--- a/src/lib-storage/index/dbox/dbox-transaction.c	Mon Jul 13 18:56:16 2009 -0400
+++ b/src/lib-storage/index/dbox/dbox-transaction.c	Mon Jul 13 19:26:07 2009 -0400
@@ -66,13 +66,11 @@ static void dbox_transaction_created(str
 
 		mt = i_new(struct dbox_transaction_context, 1);
 		mt->ictx.trans = t;
-		mt->ictx.super = t->v;
+		index_transaction_init(&mt->ictx, &dbox->ibox);
 
 		t->v.commit = dbox_transaction_commit;
 		t->v.rollback = dbox_transaction_rollback;
 		MODULE_CONTEXT_SET(t, mail_storage_mail_index_module, mt);
-
-		index_transaction_init(&mt->ictx, &dbox->ibox);
 	}
 
 	if (next_hook_mail_index_transaction_created != NULL)
diff -r 8bdfb66bf660 -r 430832cf3cf0 src/lib-storage/index/index-transaction.c
--- a/src/lib-storage/index/index-transaction.c	Mon Jul 13 18:56:16 2009 -0400
+++ b/src/lib-storage/index/index-transaction.c	Mon Jul 13 19:26:07 2009 -0400
@@ -8,6 +8,7 @@ void index_transaction_init(struct index
 void index_transaction_init(struct index_transaction_context *t,
 			    struct index_mailbox *ibox)
 {
+	t->super = t->trans->v;
 	t->mailbox_ctx.box = &ibox->box;
 	t->ibox = ibox;
 
diff -r 8bdfb66bf660 -r 430832cf3cf0 src/lib-storage/index/maildir/maildir-transaction.c
--- a/src/lib-storage/index/maildir/maildir-transaction.c	Mon Jul 13 18:56:16 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-transaction.c	Mon Jul 13 19:26:07 2009 -0400
@@ -62,13 +62,11 @@ static void maildir_transaction_created(
 
 		mt = i_new(struct maildir_transaction_context, 1);
 		mt->ictx.trans = t;
-		mt->ictx.super = t->v;
+		index_transaction_init(&mt->ictx, &mbox->ibox);
 
 		t->v.commit = maildir_transaction_commit;
 		t->v.rollback = maildir_transaction_rollback;
 		MODULE_CONTEXT_SET(t, mail_storage_mail_index_module, mt);
-
-		index_transaction_init(&mt->ictx, &mbox->ibox);
 	}
 	if (next_hook_mail_index_transaction_created != NULL)
 		next_hook_mail_index_transaction_created(t);
diff -r 8bdfb66bf660 -r 430832cf3cf0 src/lib-storage/index/mbox/mbox-transaction.c
--- a/src/lib-storage/index/mbox/mbox-transaction.c	Mon Jul 13 18:56:16 2009 -0400
+++ b/src/lib-storage/index/mbox/mbox-transaction.c	Mon Jul 13 19:26:07 2009 -0400
@@ -86,13 +86,11 @@ static void mbox_transaction_created(str
 
 		mt = i_new(struct mbox_transaction_context, 1);
 		mt->ictx.trans = t;
-		mt->ictx.super = t->v;
+		index_transaction_init(&mt->ictx, &mbox->ibox);
 
 		t->v.commit = mbox_transaction_commit;
 		t->v.rollback = mbox_transaction_rollback;
 		MODULE_CONTEXT_SET(t, mail_storage_mail_index_module, mt);
-
-		index_transaction_init(&mt->ictx, &mbox->ibox);
 	}
 
 	if (next_hook_mail_index_transaction_created != NULL)
diff -r 8bdfb66bf660 -r 430832cf3cf0 src/lib-storage/index/raw/raw-transaction.c
--- a/src/lib-storage/index/raw/raw-transaction.c	Mon Jul 13 18:56:16 2009 -0400
+++ b/src/lib-storage/index/raw/raw-transaction.c	Mon Jul 13 19:26:07 2009 -0400
@@ -41,12 +41,11 @@ static void raw_transaction_created(stru
 
 		mt = i_new(struct raw_transaction_context, 1);
 		mt->ictx.trans = t;
-		mt->ictx.super = t->v;
+		index_transaction_init(&mt->ictx, &raw->ibox);
 
 		t->v.commit = raw_transaction_commit;
 		t->v.rollback = raw_transaction_rollback;
 		MODULE_CONTEXT_SET(t, mail_storage_mail_index_module, mt);
-		index_transaction_init(&mt->ictx, &raw->ibox);
 	}
 
 	if (next_hook_mail_index_transaction_created != NULL)


More information about the dovecot-cvs mailing list