changeset 6925:d6dd3fce2817 HEAD

Code cleanup
author Timo Sirainen <tss@iki.fi>
date Tue, 04 Dec 2007 14:08:41 +0200
parents c46a191a8726
children f90a4e265d00
files src/lib-index/mail-index-sync.c
diffstat 1 files changed, 17 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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 @@
 		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 @@
 	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);
 	}