[evolution-data-server] [IMAPx] Runtime warning on inactivity timeout with IDLE enabled
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] [IMAPx] Runtime warning on inactivity timeout with IDLE enabled
- Date: Thu, 4 Dec 2014 13:13:34 +0000 (UTC)
commit 1fbe28fa99f283766799c081381a4124a0a21883
Author: Milan Crha <mcrha redhat com>
Date: Thu Dec 4 14:10:58 2014 +0100
[IMAPx] Runtime warning on inactivity timeout with IDLE enabled
The IDLE state wasn't OFF, because there was an ongoing wait for DONE.
camel/providers/imapx/camel-imapx-server.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index bf45d83..ddf27f7 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -324,6 +324,7 @@ typedef enum {
typedef enum {
IMAPX_IDLE_STOP_NOOP,
+ IMAPX_IDLE_STOP_WAIT_DONE,
IMAPX_IDLE_STOP_SUCCESS,
IMAPX_IDLE_STOP_ERROR
} CamelIMAPXIdleStopResult;
@@ -1135,8 +1136,10 @@ imapx_server_inactivity_timeout_cb (gpointer data)
switch (imapx_stop_idle (is, NULL)) {
case IMAPX_IDLE_STOP_SUCCESS:
imapx_start_idle (is);
- /* fall through */
+ result = G_SOURCE_CONTINUE;
+ break;
+ case IMAPX_IDLE_STOP_WAIT_DONE:
case IMAPX_IDLE_STOP_NOOP:
result = G_SOURCE_CONTINUE;
break;
@@ -1486,6 +1489,7 @@ imapx_command_start_next (CamelIMAPXServer *is)
case IMAPX_IDLE_STOP_NOOP:
break;
+ case IMAPX_IDLE_STOP_WAIT_DONE:
case IMAPX_IDLE_STOP_SUCCESS:
c (
is->tagprefix,
@@ -3877,13 +3881,16 @@ imapx_stop_idle (CamelIMAPXServer *is,
break;
case IMAPX_IDLE_CANCEL:
- case IMAPX_IDLE_WAIT_DONE:
result = IMAPX_IDLE_STOP_SUCCESS;
break;
+ case IMAPX_IDLE_WAIT_DONE:
+ result = IMAPX_IDLE_STOP_WAIT_DONE;
+ break;
+
case IMAPX_IDLE_STARTED:
if (imapx_command_idle_stop (is, error)) {
- result = IMAPX_IDLE_STOP_SUCCESS;
+ result = IMAPX_IDLE_STOP_WAIT_DONE;
is->priv->idle_state = IMAPX_IDLE_WAIT_DONE;
} else {
result = IMAPX_IDLE_STOP_ERROR;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]