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