dovecot-2.1: imapc: Code cleanup: avoid unnecessarily accessing ...

dovecot at dovecot.org dovecot at dovecot.org
Fri Oct 7 21:07:34 EEST 2011


details:   http://hg.dovecot.org/dovecot-2.1/rev/cd4a65125c84
changeset: 13616:cd4a65125c84
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Oct 07 20:49:32 2011 +0300
description:
imapc: Code cleanup: avoid unnecessarily accessing imapc-client-private.h

diffstat:

 src/lib-storage/index/imapc/imapc-mailbox.c |   4 ++++
 src/lib-storage/index/imapc/imapc-storage.c |  18 ++----------------
 src/lib-storage/index/imapc/imapc-storage.h |   1 +
 3 files changed, 7 insertions(+), 16 deletions(-)

diffs (73 lines):

diff -r 4f305d785bc7 -r cd4a65125c84 src/lib-storage/index/imapc/imapc-mailbox.c
--- a/src/lib-storage/index/imapc/imapc-mailbox.c	Fri Oct 07 20:34:53 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-mailbox.c	Fri Oct 07 20:49:32 2011 +0300
@@ -135,11 +135,15 @@
 
 static void imapc_mailbox_idle_notify(struct imapc_mailbox *mbox)
 {
+	struct ioloop *old_ioloop = current_ioloop;
+
 	if (mbox->box.notify_callback != NULL &&
 	    mbox->to_idle_delay == NULL) {
+		io_loop_set_current(mbox->storage->root_ioloop);
 		mbox->to_idle_delay =
 			timeout_add(NOTIFY_DELAY_MSECS,
 				    imapc_mailbox_idle_timeout, mbox);
+		io_loop_set_current(old_ioloop);
 	}
 }
 
diff -r 4f305d785bc7 -r cd4a65125c84 src/lib-storage/index/imapc/imapc-storage.c
--- a/src/lib-storage/index/imapc/imapc-storage.c	Fri Oct 07 20:34:53 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-storage.c	Fri Oct 07 20:49:32 2011 +0300
@@ -7,7 +7,7 @@
 #include "imap-resp-code.h"
 #include "mailbox-tree.h"
 #include "imapc-mail.h"
-#include "imapc-client-private.h"
+#include "imapc-client.h"
 #include "imapc-connection.h"
 #include "imapc-list.h"
 #include "imapc-sync.h"
@@ -78,6 +78,7 @@
 	storage = p_new(pool, struct imapc_storage, 1);
 	storage->storage = imapc_storage;
 	storage->storage.pool = pool;
+	storage->root_ioloop = current_ioloop;
 	return &storage->storage;
 }
 
@@ -112,22 +113,7 @@
 
 void imapc_storage_run(struct imapc_storage *storage)
 {
-	struct imapc_client_mailbox *client_box;
-	struct imapc_client_connection *const *connp;
-	struct imapc_mailbox *mbox;
-
 	imapc_client_run_pre(storage->client);
-
-	array_foreach(&storage->client->conns, connp) {
-		client_box = imapc_connection_get_mailbox((*connp)->conn);
-		if (client_box == NULL)
-			continue;
-
-		mbox = client_box->untagged_box_context;
-		if (mbox->to_idle_delay != NULL)
-			mbox->to_idle_delay = io_loop_move_timeout(&mbox->to_idle_delay);
-	}
-
 	imapc_client_run_post(storage->client);
 }
 
diff -r 4f305d785bc7 -r cd4a65125c84 src/lib-storage/index/imapc/imapc-storage.h
--- a/src/lib-storage/index/imapc/imapc-storage.h	Fri Oct 07 20:34:53 2011 +0300
+++ b/src/lib-storage/index/imapc/imapc-storage.h	Fri Oct 07 20:49:32 2011 +0300
@@ -31,6 +31,7 @@
 	struct mail_storage storage;
 	const struct imapc_settings *set;
 
+	struct ioloop *root_ioloop;
 	struct imapc_mailbox_list *list;
 	struct imapc_client *client;
 


More information about the dovecot-cvs mailing list