dovecot: Free mail structure before transaction is committed, so...
dovecot at dovecot.org
dovecot at dovecot.org
Fri Nov 23 12:10:21 EET 2007
details: http://hg.dovecot.org/dovecot/rev/9ca7f055b646
changeset: 6843:9ca7f055b646
user: Timo Sirainen <tss at iki.fi>
date: Fri Nov 23 12:10:17 2007 +0200
description:
Free mail structure before transaction is committed, so that it can update
cache file within the transaction.
diffstat:
3 files changed, 7 insertions(+), 3 deletions(-)
src/lib-storage/index/cydir/cydir-save.c | 2 ++
src/lib-storage/index/dbox/dbox-save.c | 3 +++
src/lib-storage/index/maildir/maildir-save.c | 5 ++---
diffs (47 lines):
diff -r d2c8269a0679 -r 9ca7f055b646 src/lib-storage/index/cydir/cydir-save.c
--- a/src/lib-storage/index/cydir/cydir-save.c Thu Nov 22 09:36:57 2007 +0200
+++ b/src/lib-storage/index/cydir/cydir-save.c Fri Nov 23 12:10:17 2007 +0200
@@ -282,6 +282,8 @@ int cydir_transaction_save_commit_pre(st
}
}
+ if (ctx->mail != NULL)
+ mail_free(&ctx->mail);
return 0;
}
diff -r d2c8269a0679 -r 9ca7f055b646 src/lib-storage/index/dbox/dbox-save.c
--- a/src/lib-storage/index/dbox/dbox-save.c Thu Nov 22 09:36:57 2007 +0200
+++ b/src/lib-storage/index/dbox/dbox-save.c Fri Nov 23 12:10:17 2007 +0200
@@ -426,6 +426,9 @@ int dbox_transaction_save_commit_pre(str
*t->ictx.last_saved_uid = next_uid - 1;
dbox_index_append_commit(&ctx->append_ctx);
+
+ if (ctx->mail != NULL)
+ mail_free(&ctx->mail);
return 0;
}
diff -r d2c8269a0679 -r 9ca7f055b646 src/lib-storage/index/maildir/maildir-save.c
--- a/src/lib-storage/index/maildir/maildir-save.c Thu Nov 22 09:36:57 2007 +0200
+++ b/src/lib-storage/index/maildir/maildir-save.c Fri Nov 23 12:10:17 2007 +0200
@@ -706,6 +706,8 @@ int maildir_transaction_save_commit_pre(
maildir_transaction_save_rollback(ctx);
}
+ if (ctx->mail != NULL)
+ mail_free(&ctx->mail);
return ret;
}
@@ -715,9 +717,6 @@ void maildir_transaction_save_commit_pos
if (ctx->locked)
maildir_uidlist_unlock(ctx->mbox->uidlist);
-
- if (ctx->mail != NULL)
- mail_free(&ctx->mail);
pool_unref(&ctx->pool);
}
More information about the dovecot-cvs
mailing list