dovecot-1.2: auth worker server: Don't assert-crash if the whole...

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 24 21:05:06 EEST 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/0827941c0e7c
changeset: 9337:0827941c0e7c
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 24 14:04:59 2009 -0400
description:
auth worker server: Don't assert-crash if the whole reply doesn't come in one packet.

diffstat:

1 file changed, 4 insertions(+), 1 deletion(-)
src/auth/auth-worker-server.c |    5 ++++-

diffs (22 lines):

diff -r 366a327b028b -r 0827941c0e7c src/auth/auth-worker-server.c
--- a/src/auth/auth-worker-server.c	Mon Aug 24 13:13:45 2009 -0400
+++ b/src/auth/auth-worker-server.c	Mon Aug 24 14:04:59 2009 -0400
@@ -98,6 +98,7 @@ static void auth_worker_request_send(str
 
 	o_stream_sendv(conn->output, iov, 3);
 
+	i_assert(conn->request == NULL);
 	conn->request = request;
 
 	timeout_remove(&conn->to);
@@ -294,7 +295,9 @@ static void worker_input(struct auth_wor
 		}
 	}
 
-	if (conn->shutdown && conn->request == NULL)
+	if (conn->request != NULL) {
+		/* there's still a pending request */
+	} else if (conn->shutdown)
 		auth_worker_destroy(&conn, "Max requests limit", TRUE);
 	else
 		auth_worker_request_send_next(conn);


More information about the dovecot-cvs mailing list