From: Timo Sirainen Date: Sat, 16 Oct 2010 17:33:42 +0000 (+0100) Subject: pop3: Recent corking change caused hangs. X-Git-Tag: 2.0.6~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0678d7e4c3ccbbc213836b09442a05da6f6e7588;p=thirdparty%2Fdovecot%2Fcore.git pop3: Recent corking change caused hangs. --- diff --git a/src/pop3/pop3-client.c b/src/pop3/pop3-client.c index 63d7361d0a..66d4eb17ee 100644 --- a/src/pop3/pop3-client.c +++ b/src/pop3/pop3-client.c @@ -667,7 +667,15 @@ static int client_output(struct client *client) } o_stream_uncork(client->output); - return client->cmd == NULL; + if (client->cmd != NULL) { + /* command not finished yet */ + return 0; + } else if (client->io == NULL) { + /* data still in output buffer, get back here to add IO */ + return 0; + } else { + return 1; + } } void clients_destroy_all(void)