Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7273:1d87dc550378 HEAD
Fixed "uid_validity updated unexpectedly" errors when mbox file was being
recreated and index files still existed.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 21 Feb 2008 14:46:01 +0200 |
parents | 1e5deb36a79f |
children | da971cec0395 |
files | src/lib-storage/index/mbox/mbox-sync.c |
diffstat | 1 files changed, 6 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/mbox-sync.c Thu Feb 21 13:43:17 2008 +0200 +++ b/src/lib-storage/index/mbox/mbox-sync.c Thu Feb 21 14:46:01 2008 +0200 @@ -1324,15 +1324,12 @@ is entirely empty. In that case just make up a new one if needed. */ i_assert(sync_ctx->base_uid_validity != 0 || st->st_size == 0); - if (sync_ctx->base_uid_validity != sync_ctx->hdr->uid_validity || - sync_ctx->base_uid_validity == 0) { - if (sync_ctx->base_uid_validity == 0) { - sync_ctx->base_uid_validity = - sync_ctx->hdr->uid_validity != 0 ? - sync_ctx->hdr->uid_validity : - (unsigned int)ioloop_time; - } - + if (sync_ctx->base_uid_validity == 0) { + sync_ctx->base_uid_validity = sync_ctx->hdr->uid_validity != 0 ? + sync_ctx->hdr->uid_validity : + I_MIN((unsigned int)ioloop_time, 1); + } + if (sync_ctx->base_uid_validity != sync_ctx->hdr->uid_validity) { mail_index_update_header(sync_ctx->t, offsetof(struct mail_index_header, uid_validity), &sync_ctx->base_uid_validity,