Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5868:cff069467884 HEAD
Don't clone a map when expunging if all messages were already expunged.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 02 Jul 2007 23:53:22 +0300 |
parents | 1b70ae186611 |
children | 38ff50597e54 |
files | src/lib-index/mail-index-sync-update.c |
diffstat | 1 files changed, 1 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-sync-update.c Mon Jul 02 23:46:22 2007 +0300 +++ b/src/lib-index/mail-index-sync-update.c Mon Jul 02 23:53:22 2007 +0300 @@ -220,13 +220,6 @@ uint32_t seq_count, seq, seq1, seq2; unsigned int i; - /* we don't ever want to move around data inside a memory mapped file. - it gets corrupted too easily if we crash in the middle. */ - // FIXME: it's necessary for current view code that we get atomic - // map even if these messages are already expunged, because the - // view code doesn't check that and our index_int_offset goes wrong - map = mail_index_sync_get_atomic_map(ctx); - for (i = 0; i < count; i++, e++) { if (mail_index_lookup_uid_range(ctx->view, e->uid1, e->uid2, &seq1, &seq2) < 0) @@ -236,6 +229,7 @@ continue; } + map = mail_index_sync_get_atomic_map(ctx); for (seq = seq1; seq <= seq2; seq++) { rec = MAIL_INDEX_MAP_IDX(map, seq-1); mail_index_sync_header_update_counts(ctx,