Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9020:a6779d086785 HEAD
mail_transaction_log_view_clear() should keep oldest_file_seq and newer referenced.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 09 May 2009 12:28:33 -0400 |
parents | 7ccc533e30bb |
children | e36a9edb5fb0 |
files | src/lib-index/mail-transaction-log-view.c src/lib-index/mail-transaction-log.h |
diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log-view.c Thu May 07 15:04:12 2009 -0400 +++ b/src/lib-index/mail-transaction-log-view.c Sat May 09 12:28:33 2009 -0400 @@ -314,8 +314,10 @@ mail_transaction_log_view_unref_all(view); if (mail_transaction_log_find_file(view->log, oldest_file_seq, FALSE, &file) > 0) { - array_append(&view->file_refs, &file, 1); - file->refcount++; + for (; file != NULL; file = file->next) { + array_append(&view->file_refs, &file, 1); + file->refcount++; + } } view->cur = view->head = view->tail = NULL;
--- a/src/lib-index/mail-transaction-log.h Thu May 07 15:04:12 2009 -0400 +++ b/src/lib-index/mail-transaction-log.h Sat May 09 12:28:33 2009 -0400 @@ -169,8 +169,8 @@ uint32_t min_file_seq, uoff_t min_file_offset, uint32_t max_file_seq, uoff_t max_file_offset, bool *reset_r); -/* Clear the view. Keep oldest_file_seq log referenced so we don't get - desynced. */ +/* Clear the view. Keep oldest_file_seq and newer log files referenced so we + don't get desynced. */ void mail_transaction_log_view_clear(struct mail_transaction_log_view *view, uint32_t oldest_file_seq);