From: Timo Sirainen Date: Sun, 4 Sep 2011 07:55:33 +0000 (+0300) Subject: imapc: Added assert. X-Git-Tag: 2.1.alpha2~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2d397c3a8024156eb3b4b53c37d07d60588f1e4;p=thirdparty%2Fdovecot%2Fcore.git imapc: Added assert. --- diff --git a/src/lib-storage/index/imapc/imapc-client.c b/src/lib-storage/index/imapc/imapc-client.c index 9982237b9e..54f84bf5af 100644 --- a/src/lib-storage/index/imapc/imapc-client.c +++ b/src/lib-storage/index/imapc/imapc-client.c @@ -136,6 +136,11 @@ void imapc_client_stop(struct imapc_client *client) io_loop_stop(client->ioloop); } +bool imapc_client_is_running(struct imapc_client *client) +{ + return client->ioloop != NULL; +} + void imapc_client_stop_now(struct imapc_client *client) { client->stop_now = TRUE; diff --git a/src/lib-storage/index/imapc/imapc-client.h b/src/lib-storage/index/imapc/imapc-client.h index 7b848094d3..3180adf30b 100644 --- a/src/lib-storage/index/imapc/imapc-client.h +++ b/src/lib-storage/index/imapc/imapc-client.h @@ -117,6 +117,7 @@ void imapc_client_stop(struct imapc_client *client); /* Stop immediately, don't finish even any already read pending replies. They'll be finished when imapc_client_run() is again called. */ void imapc_client_stop_now(struct imapc_client *client); +bool imapc_client_is_running(struct imapc_client *client); struct imapc_client_mailbox * imapc_client_mailbox_open(struct imapc_client *client, diff --git a/src/lib-storage/index/imapc/imapc-storage.c b/src/lib-storage/index/imapc/imapc-storage.c index d37a7da24c..8c3b0c2571 100644 --- a/src/lib-storage/index/imapc/imapc-storage.c +++ b/src/lib-storage/index/imapc/imapc-storage.c @@ -542,6 +542,7 @@ static void imapc_notify_changes(struct mailbox *box) } else { /* remote server doesn't support IDLE. check for changes with NOOP every once in a while. */ + i_assert(!imapc_client_is_running(mbox->storage->client)); mbox->to_idle_check = timeout_add(box->notify_min_interval * 1000, imapc_idle_timeout, mbox);