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

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 24 21:09:54 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/fa76c740ee41
changeset: 9809:fa76c740ee41
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 24 14:09:49 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 aad3157d52a1 -r fa76c740ee41 src/auth/auth-worker-server.c
--- a/src/auth/auth-worker-server.c	Mon Aug 24 13:15:34 2009 -0400
+++ b/src/auth/auth-worker-server.c	Mon Aug 24 14:09:49 2009 -0400
@@ -97,6 +97,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);
@@ -296,7 +297,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