changeset 9619:430832cf3cf0 HEAD

Fix to previous cache changes: Cache transaction was commited too early.
author Timo Sirainen <tss@iki.fi>
date Mon, 13 Jul 2009 19:26:07 -0400
parents 8bdfb66bf660
children a0b8777ac846
files src/lib-storage/index/cydir/cydir-transaction.c src/lib-storage/index/dbox/dbox-transaction.c src/lib-storage/index/index-transaction.c src/lib-storage/index/maildir/maildir-transaction.c src/lib-storage/index/mbox/mbox-transaction.c src/lib-storage/index/raw/raw-transaction.c
diffstat 6 files changed, 6 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- 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 @@
 
 		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)
--- 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 @@
 
 		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)
--- 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_transaction_context *t,
 			    struct index_mailbox *ibox)
 {
+	t->super = t->trans->v;
 	t->mailbox_ctx.box = &ibox->box;
 	t->ibox = ibox;
 
--- 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 @@
 
 		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);
--- 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 @@
 
 		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)
--- 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 @@
 
 		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)