Mercurial > dovecot > core-2.2
changeset 13616:cd4a65125c84
imapc: Code cleanup: avoid unnecessarily accessing imapc-client-private.h
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 07 Oct 2011 20:49:32 +0300 |
parents | 4f305d785bc7 |
children | 3058a10313bd |
files | src/lib-storage/index/imapc/imapc-mailbox.c src/lib-storage/index/imapc/imapc-storage.c src/lib-storage/index/imapc/imapc-storage.h |
diffstat | 3 files changed, 7 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- 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); } }
--- 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); }
--- 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;