changeset 5466:8141168f86e1 HEAD

cleaned up mailbox closing code
author Timo Sirainen <tss@iki.fi>
date Fri, 30 Mar 2007 21:45:21 +0300
parents 014236cf3dcc
children 89fb28593639
files src/lib-storage/index/cydir/cydir-storage.c src/lib-storage/index/dbox/dbox-storage.c src/lib-storage/index/index-storage.c src/lib-storage/index/index-storage.h src/lib-storage/index/maildir/maildir-storage.c src/lib-storage/index/mbox/mbox-storage.c
diffstat 6 files changed, 11 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/cydir/cydir-storage.c	Fri Mar 30 21:41:05 2007 +0300
+++ b/src/lib-storage/index/cydir/cydir-storage.c	Fri Mar 30 21:45:21 2007 +0300
@@ -361,12 +361,6 @@
 	return cydir_delete_nonrecursive(list, src, name);
 }
 
-static int cydir_storage_close(struct mailbox *box)
-{
-        index_storage_mailbox_free(box);
-	return 0;
-}
-
 static void cydir_notify_changes(struct mailbox *box)
 {
 	struct cydir_mailbox *mbox = (struct cydir_mailbox *)box;
@@ -454,7 +448,7 @@
 	{
 		index_storage_is_readonly,
 		index_storage_allow_new_keywords,
-		cydir_storage_close,
+		index_storage_mailbox_close,
 		index_storage_get_status,
 		cydir_storage_sync_init,
 		index_mailbox_sync_next,
--- a/src/lib-storage/index/dbox/dbox-storage.c	Fri Mar 30 21:41:05 2007 +0300
+++ b/src/lib-storage/index/dbox/dbox-storage.c	Fri Mar 30 21:45:21 2007 +0300
@@ -498,8 +498,7 @@
 	dbox_uidlist_deinit(mbox->uidlist);
 	if (mbox->file != NULL)
 		dbox_file_close(mbox->file);
-        index_storage_mailbox_free(box);
-	return 0;
+        return index_storage_mailbox_close(box);
 }
 
 static void dbox_notify_changes(struct mailbox *box)
--- a/src/lib-storage/index/index-storage.c	Fri Mar 30 21:41:05 2007 +0300
+++ b/src/lib-storage/index/index-storage.c	Fri Mar 30 21:45:21 2007 +0300
@@ -368,7 +368,7 @@
 		index_storage_mailbox_open(ibox);
 }
 
-void index_storage_mailbox_free(struct mailbox *box)
+int index_storage_mailbox_close(struct mailbox *box)
 {
 	struct index_mailbox *ibox = (struct index_mailbox *) box;
 
@@ -384,6 +384,7 @@
 
 	MODULE_CONTEXT_UNSET(ibox->index, mail_storage_mail_index_module);
 	pool_unref(box->pool);
+	return 0;
 }
 
 bool index_storage_is_readonly(struct mailbox *box)
--- a/src/lib-storage/index/index-storage.h	Fri Mar 30 21:41:05 2007 +0300
+++ b/src/lib-storage/index/index-storage.h	Fri Mar 30 21:45:21 2007 +0300
@@ -102,7 +102,7 @@
 				enum mailbox_open_flags flags,
 				bool move_to_memory);
 void index_storage_mailbox_open(struct index_mailbox *ibox);
-void index_storage_mailbox_free(struct mailbox *box);
+int index_storage_mailbox_close(struct mailbox *box);
 
 bool index_storage_is_readonly(struct mailbox *box);
 bool index_storage_allow_new_keywords(struct mailbox *box);
--- a/src/lib-storage/index/maildir/maildir-storage.c	Fri Mar 30 21:41:05 2007 +0300
+++ b/src/lib-storage/index/maildir/maildir-storage.c	Fri Mar 30 21:45:21 2007 +0300
@@ -855,15 +855,9 @@
 		rename_mailbox(list, oldname, newname);
 }
 
-static int maildir_storage_close(struct mailbox *box)
+static int maildir_storage_mailbox_close(struct mailbox *box)
 {
 	struct maildir_mailbox *mbox = (struct maildir_mailbox *)box;
-	int ret = 0;
-
-	/*FIXME:if (!maildir_try_flush_dirty_flags(ibox->index, TRUE)) {
-		mail_storage_set_index_error(ibox);
-		ret = -1;
-	}*/
 
 	if (mbox->keep_lock_to != NULL) {
 		maildir_uidlist_unlock(mbox->uidlist);
@@ -872,8 +866,7 @@
 
 	maildir_keywords_deinit(mbox->keywords);
 	maildir_uidlist_deinit(mbox->uidlist);
-        index_storage_mailbox_free(box);
-	return ret;
+        return index_storage_mailbox_close(box);
 }
 
 static void maildir_notify_changes(struct mailbox *box)
@@ -1058,7 +1051,7 @@
 	{
 		index_storage_is_readonly,
 		index_storage_allow_new_keywords,
-		maildir_storage_close,
+		maildir_storage_mailbox_close,
 		index_storage_get_status,
 		maildir_storage_sync_init,
 		index_mailbox_sync_next,
--- a/src/lib-storage/index/mbox/mbox-storage.c	Fri Mar 30 21:41:05 2007 +0300
+++ b/src/lib-storage/index/mbox/mbox-storage.c	Fri Mar 30 21:45:21 2007 +0300
@@ -754,7 +754,7 @@
 	return -1;
 }
 
-static int mbox_storage_close(struct mailbox *box)
+static int mbox_storage_mailbox_close(struct mailbox *box)
 {
 	struct mbox_mailbox *mbox = (struct mbox_mailbox *)box;
 	const struct mail_index_header *hdr;
@@ -780,8 +780,7 @@
 	if (mbox->mbox_file_stream != NULL)
 		i_stream_destroy(&mbox->mbox_file_stream);
 
-	index_storage_mailbox_free(box);
-	return ret;
+	return index_storage_mailbox_close(box);
 }
 
 static void mbox_notify_changes(struct mailbox *box)
@@ -995,7 +994,7 @@
 	{
 		index_storage_is_readonly,
 		index_storage_allow_new_keywords,
-		mbox_storage_close,
+		mbox_storage_mailbox_close,
 		index_storage_get_status,
 		mbox_storage_sync_init,
 		index_mailbox_sync_next,