From: Timo Sirainen Date: Wed, 1 Sep 2010 16:52:33 +0000 (+0100) Subject: imap: Don't hang if client sends IDLE + DONE pipelined. X-Git-Tag: 2.0.2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc5767738b2e54771d52a3c6af7c2bcbe262f779;p=thirdparty%2Fdovecot%2Fcore.git imap: Don't hang if client sends IDLE + DONE pipelined. --- diff --git a/src/imap/cmd-idle.c b/src/imap/cmd-idle.c index 1083bedeec..bcb85550f1 100644 --- a/src/imap/cmd-idle.c +++ b/src/imap/cmd-idle.c @@ -90,7 +90,7 @@ static void idle_client_input_more(struct cmd_idle_context *ctx) break; } } - if (!client->disconnected) + if (!client->disconnected && !client->handling_input) client_continue_pending_input(client); } @@ -260,5 +260,6 @@ bool cmd_idle(struct client_command_context *cmd) added mailbox-notifier, we wouldn't see them otherwise. */ if (client->mailbox != NULL) idle_sync_now(client->mailbox, ctx); + idle_client_input_more(ctx); return FALSE; }