From fcadc92fa095335d1119b161584e7fa8568f9267 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 14 Oct 2009 12:45:18 -0400 Subject: [PATCH] maildir: Saving a mail after fast syncing caused slow sync the next time. --HG-- branch : HEAD --- src/lib-storage/index/maildir/maildir-uidlist.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib-storage/index/maildir/maildir-uidlist.c b/src/lib-storage/index/maildir/maildir-uidlist.c index dc4de27c35..d77b025158 100644 --- a/src/lib-storage/index/maildir/maildir-uidlist.c +++ b/src/lib-storage/index/maildir/maildir-uidlist.c @@ -966,6 +966,9 @@ int maildir_uidlist_refresh_fast_init(struct maildir_uidlist *uidlist) uidlist->next_uid = hdr->next_uid; uidlist->initial_hdr_read = TRUE; mail_index_view_close(&view); + + if (UIDLIST_IS_LOCKED(uidlist)) + uidlist->locked_refresh = TRUE; return 1; } else { return maildir_uidlist_refresh(uidlist); @@ -1416,7 +1419,7 @@ static bool maildir_uidlist_want_recreate(struct maildir_uidlist_sync_ctx *ctx) { struct maildir_uidlist *uidlist = ctx->uidlist; - if (!uidlist->locked_refresh) + if (!uidlist->locked_refresh || !uidlist->initial_read) return FALSE; if (ctx->finish_change_counter != uidlist->change_counter) -- 2.47.3