From: Timo Sirainen Date: Wed, 14 Oct 2009 16:45:18 +0000 (-0400) Subject: maildir: Saving a mail after fast syncing caused slow sync the next time. X-Git-Tag: 2.0.alpha2~108 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fcadc92fa095335d1119b161584e7fa8568f9267;p=thirdparty%2Fdovecot%2Fcore.git maildir: Saving a mail after fast syncing caused slow sync the next time. --HG-- branch : HEAD --- 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)