dovecot-2.0: mdbox: If save fails due to lock failure, don't ass...

dovecot at dovecot.org dovecot at dovecot.org
Thu Sep 2 20:03:16 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/c24b0dd6e3ac
changeset: 12072:c24b0dd6e3ac
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Sep 02 18:03:13 2010 +0100
description:
mdbox: If save fails due to lock failure, don't assert-crash

diffstat:

 src/lib-storage/index/dbox-multi/mdbox-save.c |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (15 lines):

diff -r 2dca300aee5c -r c24b0dd6e3ac src/lib-storage/index/dbox-multi/mdbox-save.c
--- a/src/lib-storage/index/dbox-multi/mdbox-save.c	Thu Sep 02 17:46:55 2010 +0100
+++ b/src/lib-storage/index/dbox-multi/mdbox-save.c	Thu Sep 02 18:03:13 2010 +0100
@@ -287,8 +287,10 @@
 	i_assert(ctx->ctx.finished);
 
 	/* make sure the map gets locked */
-	if (mdbox_map_atomic_lock(ctx->atomic) < 0)
+	if (mdbox_map_atomic_lock(ctx->atomic) < 0) {
+		mdbox_transaction_save_rollback(_ctx);
 		return -1;
+	}
 
 	/* assign map UIDs for newly saved messages. they're written to
 	   transaction log immediately within this function, but the map


More information about the dovecot-cvs mailing list