changeset 9337:0827941c0e7c HEAD

auth worker server: Don't assert-crash if the whole reply doesn't come in one packet.
author Timo Sirainen <tss@iki.fi>
date Mon, 24 Aug 2009 14:04:59 -0400
parents 366a327b028b
children e1685886c795
files src/auth/auth-worker-server.c
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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 @@
 
 	o_stream_sendv(conn->output, iov, 3);
 
+	i_assert(conn->request == NULL);
 	conn->request = request;
 
 	timeout_remove(&conn->to);
@@ -294,7 +295,9 @@
 		}
 	}
 
-	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);