From: Timo Sirainen Date: Thu, 2 Sep 2010 17:03:13 +0000 (+0100) Subject: mdbox: If save fails due to lock failure, don't assert-crash X-Git-Tag: 2.0.2~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=56aa9083e1742d0083885aaf0c5b8581577731ae;p=thirdparty%2Fdovecot%2Fcore.git mdbox: If save fails due to lock failure, don't assert-crash --- diff --git a/src/lib-storage/index/dbox-multi/mdbox-save.c b/src/lib-storage/index/dbox-multi/mdbox-save.c index abfe69246a..d3eb9fd993 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-save.c +++ b/src/lib-storage/index/dbox-multi/mdbox-save.c @@ -287,8 +287,10 @@ int mdbox_transaction_save_commit_pre(struct mail_save_context *_ctx) 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