changeset 12454:66a523135836

imap: Make sure IDLE isn't broken too early if DONE is sent in multiple packets.
author Timo Sirainen <tss@iki.fi>
date Mon, 22 Nov 2010 19:04:13 +0000
parents 3a93121f652a
children 8b82ccf48f32
files src/imap/cmd-idle.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/imap/cmd-idle.c	Mon Nov 22 18:35:07 2010 +0000
+++ b/src/imap/cmd-idle.c	Mon Nov 22 19:04:13 2010 +0000
@@ -87,11 +87,11 @@
 			client->input_skip_line = FALSE;
 		else {
 			idle_finish(ctx, strcasecmp(line, "DONE") == 0, TRUE);
+			if (!client->disconnected)
+				client_continue_pending_input(client);
 			break;
 		}
 	}
-	if (!client->disconnected && !client->handling_input)
-		client_continue_pending_input(client);
 }
 
 static void idle_client_input(struct cmd_idle_context *ctx)