dovecot-2.1: dbox: If saving is aborted, don't add a broken reco...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Feb 9 20:37:30 EET 2012
details: http://hg.dovecot.org/dovecot-2.1/rev/98a59ac1f3d0
changeset: 14105:98a59ac1f3d0
user: Timo Sirainen <tss at iki.fi>
date: Thu Feb 09 20:37:24 2012 +0200
description:
dbox: If saving is aborted, don't add a broken record about it to index.
diffstat:
src/lib-storage/index/dbox-multi/mdbox-save.c | 1 +
src/lib-storage/index/dbox-single/sdbox-save.c | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diffs (27 lines):
diff -r dc674f4577af -r 98a59ac1f3d0 src/lib-storage/index/dbox-multi/mdbox-save.c
--- a/src/lib-storage/index/dbox-multi/mdbox-save.c Thu Feb 09 20:21:14 2012 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-save.c Thu Feb 09 20:37:24 2012 +0200
@@ -218,6 +218,7 @@
i_stream_unref(&ctx->ctx.input);
if (ctx->ctx.failed) {
+ mail_index_expunge(ctx->ctx.trans, ctx->ctx.seq);
mdbox_map_append_abort(ctx->append_ctx);
array_delete(&ctx->mails, array_count(&ctx->mails) - 1, 1);
return -1;
diff -r dc674f4577af -r 98a59ac1f3d0 src/lib-storage/index/dbox-single/sdbox-save.c
--- a/src/lib-storage/index/dbox-single/sdbox-save.c Thu Feb 09 20:21:14 2012 +0200
+++ b/src/lib-storage/index/dbox-single/sdbox-save.c Thu Feb 09 20:37:24 2012 +0200
@@ -184,9 +184,10 @@
ctx->ctx.failed = TRUE;
} T_END;
- if (ctx->ctx.failed)
+ if (ctx->ctx.failed) {
+ mail_index_expunge(ctx->ctx.trans, ctx->ctx.seq);
dbox_file_append_rollback(&ctx->append_ctx);
- else {
+ } else {
dbox_file_append_checkpoint(ctx->append_ctx);
if (dbox_file_append_commit(&ctx->append_ctx) < 0)
ctx->ctx.failed = TRUE;
More information about the dovecot-cvs
mailing list