]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mdbox: If save fails due to lock failure, don't assert-crash
authorTimo Sirainen <tss@iki.fi>
Thu, 2 Sep 2010 17:03:13 +0000 (18:03 +0100)
committerTimo Sirainen <tss@iki.fi>
Thu, 2 Sep 2010 17:03:13 +0000 (18:03 +0100)
src/lib-storage/index/dbox-multi/mdbox-save.c

index abfe69246a2f8f5df6b05b4ed6318cd23aa049a8..d3eb9fd99391acecfeab432aca60470454572695 100644 (file)
@@ -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