dovecot: Code cleanup

dovecot at dovecot.org dovecot at dovecot.org
Tue Dec 4 14:08:44 EET 2007


details:   http://hg.dovecot.org/dovecot/rev/d6dd3fce2817
changeset: 6925:d6dd3fce2817
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Dec 04 14:08:41 2007 +0200
description:
Code cleanup

diffstat:

1 file changed, 17 insertions(+), 5 deletions(-)
src/lib-index/mail-index-sync.c |   22 +++++++++++++++++-----

diffs (44 lines):

diff -r c46a191a8726 -r d6dd3fce2817 src/lib-index/mail-index-sync.c
--- a/src/lib-index/mail-index-sync.c	Tue Dec 04 12:34:43 2007 +0200
+++ b/src/lib-index/mail-index-sync.c	Tue Dec 04 14:08:41 2007 +0200
@@ -698,11 +698,25 @@ mail_index_sync_update_mailbox_offset(st
 		ctx->ext_trans->log_updates = TRUE;
 }
 
+static bool mail_index_sync_want_index_write(struct mail_index *index)
+{
+	uint32_t log_diff;
+
+	log_diff = index->map->hdr.log_file_tail_offset -
+		index->last_read_log_file_tail_offset;
+	if (log_diff > 1024)
+		return TRUE;
+
+	if (index->need_recreate)
+		return TRUE;
+	return FALSE;
+}
+
 int mail_index_sync_commit(struct mail_index_sync_ctx **_ctx)
 {
         struct mail_index_sync_ctx *ctx = *_ctx;
 	struct mail_index *index = ctx->index;
-	uint32_t seq, diff, next_uid;
+	uint32_t seq, next_uid;
 	uoff_t offset;
 	bool want_rotate;
 	int ret = 0;
@@ -736,11 +750,9 @@ int mail_index_sync_commit(struct mail_i
 	if (mail_index_map(ctx->index, MAIL_INDEX_SYNC_HANDLER_FILE) <= 0)
 		ret = -1;
 
-	/* FIXME: create a better rule? */
 	want_rotate = mail_transaction_log_want_rotate(index->log);
-	diff = index->map->hdr.log_file_tail_offset -
-		index->last_read_log_file_tail_offset;
-	if (ret == 0 && (diff > 1024 || want_rotate || index->need_recreate)) {
+	if (ret == 0 &&
+	    (want_rotate || mail_index_sync_want_index_write(index))) {
 		index->need_recreate = FALSE;
 		mail_index_write(index, want_rotate);
 	}


More information about the dovecot-cvs mailing list