From: Timo Sirainen Date: Sun, 5 Oct 2003 17:45:53 +0000 (+0300) Subject: bugfixes X-Git-Tag: 1.1.alpha1~4304 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22c53e1acb9ff4332e3ba3ab9c946b9c83a9f808;p=thirdparty%2Fdovecot%2Fcore.git bugfixes --HG-- branch : HEAD --- diff --git a/src/lib-index/mail-index-open.c b/src/lib-index/mail-index-open.c index f66b67e81b..a728a107f1 100644 --- a/src/lib-index/mail-index-open.c +++ b/src/lib-index/mail-index-open.c @@ -80,6 +80,10 @@ static int index_open_and_fix(struct mail_index *index, if (!mail_cache_open_or_create(index)) return FALSE; + /* custom flags file needs to be open before rebuilding index */ + if (!mail_custom_flags_open_or_create(index)) + return FALSE; + if ((index->header->flags & MAIL_INDEX_HDR_FLAG_REBUILD) != 0 || (index->set_flags & MAIL_INDEX_HDR_FLAG_REBUILD) != 0) { @@ -97,10 +101,6 @@ static int index_open_and_fix(struct mail_index *index, rebuilt = FALSE; } - /* custom flags file needs to be open before rebuilding index */ - if (!mail_custom_flags_open_or_create(index)) - return FALSE; - if ((flags & _MAIL_INDEX_OPEN_FLAG_CREATING) == 0) { if (!mail_modifylog_open_or_create(index)) return FALSE; diff --git a/src/lib-index/mbox/mbox-rewrite.c b/src/lib-index/mbox/mbox-rewrite.c index 6b80fa87d5..3de730763a 100644 --- a/src/lib-index/mbox/mbox-rewrite.c +++ b/src/lib-index/mbox/mbox-rewrite.c @@ -44,6 +44,10 @@ static int reset_dirty_flags(struct mail_index *index) struct mail_index_record *rec; enum mail_index_record_flag index_flags; + if (mail_cache_lock(index->cache, FALSE) <= 0) + return FALSE; + mail_cache_unlock_later(index->cache); + rec = index->lookup(index, 1); while (rec != NULL) { index_flags = mail_cache_get_index_flags(index->cache, rec);