From f1612f8421207632e1dc9addd6c23e7f7098a54c Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 19 Jul 2010 13:02:24 +0100 Subject: [PATCH] mdbox: Copying wasn't locking map index early enough. --- src/lib-storage/index/dbox-multi/mdbox-save.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib-storage/index/dbox-multi/mdbox-save.c b/src/lib-storage/index/dbox-multi/mdbox-save.c index 7a4a5ddb3c..abfe69246a 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-save.c +++ b/src/lib-storage/index/dbox-multi/mdbox-save.c @@ -286,6 +286,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) + return -1; + /* assign map UIDs for newly saved messages. they're written to transaction log immediately within this function, but the map is left locked. */ -- 2.47.3