dovecot-2.0: pop3: Recent corking change caused hangs.

dovecot at dovecot.org dovecot at dovecot.org
Sat Oct 16 20:33:46 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/b8803a1e2dc2
changeset: 12294:b8803a1e2dc2
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Oct 16 18:33:42 2010 +0100
description:
pop3: Recent corking change caused hangs.

diffstat:

 src/pop3/pop3-client.c |  10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diffs (20 lines):

diff -r 794f09e5571d -r b8803a1e2dc2 src/pop3/pop3-client.c
--- a/src/pop3/pop3-client.c	Sat Oct 16 00:49:35 2010 +0100
+++ b/src/pop3/pop3-client.c	Sat Oct 16 18:33:42 2010 +0100
@@ -667,7 +667,15 @@
 	}
 
 	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)


More information about the dovecot-cvs mailing list