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

dovecot at dovecot.org dovecot at dovecot.org
Wed Oct 14 19:46:06 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/e7aa137f3a11
changeset: 10055:e7aa137f3a11
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 5cb162da8708 -r e7aa137f3a11 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Oct 12 18:40:35 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Wed Oct 14 12:45:18 2009 -0400
@@ -966,6 +966,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);
@@ -1416,7 +1419,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