dovecot-1.2: maildir: Saving a mail after fast syncing caused sl...

dovecot at dovecot.org dovecot at dovecot.org
Wed Oct 14 19:45:27 EEST 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/ebdba086e3b1
changeset: 9428:ebdba086e3b1
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Oct 14 12:45:18 2009 -0400
description:
maildir: Saving a mail after fast syncing caused slow sync the next time.

diffstat:

1 file changed, 4 insertions(+), 1 deletion(-)
src/lib-storage/index/maildir/maildir-uidlist.c |    5 ++++-

diffs (22 lines):

diff -r 5fc4fb574c9f -r ebdba086e3b1 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Oct 12 16:20:35 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Wed Oct 14 12:45:18 2009 -0400
@@ -932,6 +932,9 @@ int maildir_uidlist_refresh_fast_init(st
 		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);
@@ -1332,7 +1335,7 @@ static bool maildir_uidlist_want_recreat
 {
 	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)


More information about the dovecot-cvs mailing list