]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Fix to previous cache changes: Cache transaction was commited too early.
authorTimo Sirainen <tss@iki.fi>
Mon, 13 Jul 2009 23:26:07 +0000 (19:26 -0400)
committerTimo Sirainen <tss@iki.fi>
Mon, 13 Jul 2009 23:26:07 +0000 (19:26 -0400)
--HG--
branch : HEAD

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

index 7e73284dbab6958d5f610298ef421999ecae7e25..4966c16c9d1a3bee167b3783b30777fb020ee141 100644 (file)
@@ -66,13 +66,11 @@ static void cydir_transaction_created(struct mail_index_transaction *t)
 
                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)
index ff06866b3cc1359adbfbef5074ef9918959face4..f662145ae4598bb303d5aa9163d76ae05998413d 100644 (file)
@@ -66,13 +66,11 @@ static void dbox_transaction_created(struct mail_index_transaction *t)
 
                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)
index d9ed0da9b244797123c6b67ca45f7dedaf72a867..98d932f73d2365023097885e0b6f25335e81ca58 100644 (file)
@@ -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;
 
index 25930b87e92eadcf530898beb2ed747fe2563346..ab13b94dc58d155f47f4ce7cb5dbbacd24b5ae8b 100644 (file)
@@ -62,13 +62,11 @@ static void maildir_transaction_created(struct mail_index_transaction *t)
 
                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);
index c5f0c1c0271626265208d93254f5d1e85cc8d404..572fdb484af2123f2d596474e492297863f971c4 100644 (file)
@@ -86,13 +86,11 @@ static void mbox_transaction_created(struct mail_index_transaction *t)
 
                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)
index 5ae42c0ac53542221f56ca37a03b701f8a6ff050..12bc065d3a427211db006fad8b226f97dbe316bb 100644 (file)
@@ -41,12 +41,11 @@ static void raw_transaction_created(struct mail_index_transaction *t)
 
                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)