]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
maildir: Saving a mail after fast syncing caused slow sync the next time.
authorTimo Sirainen <tss@iki.fi>
Wed, 14 Oct 2009 16:45:18 +0000 (12:45 -0400)
committerTimo Sirainen <tss@iki.fi>
Wed, 14 Oct 2009 16:45:18 +0000 (12:45 -0400)
--HG--
branch : HEAD

src/lib-storage/index/maildir/maildir-uidlist.c

index dc4de27c358975793ae1b0c7d223b6975c536c47..d77b0251580c899c9f99c0bb0b65ce64e0323f0c 100644 (file)
@@ -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)