changeset 9290:a8bd5b0b6bb9 HEAD

ldap: Fixed hang when >128 requests were sent at once. Based on patch by Marek Miska.
author Timo Sirainen <tss@iki.fi>
date Fri, 07 Aug 2009 14:44:58 -0400
parents e57d5c9daed3
children 682e09eb1e8f
files src/auth/db-ldap.c
diffstat 1 files changed, 2 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/db-ldap.c	Fri Aug 07 14:21:40 2009 -0400
+++ b/src/auth/db-ldap.c	Fri Aug 07 14:44:58 2009 -0400
@@ -322,14 +322,13 @@
 static bool db_ldap_request_queue_next(struct ldap_connection *conn)
 {
 	struct ldap_request *const *requestp, *request;
-	unsigned int queue_size = aqueue_count(conn->request_queue);
 	int ret = -1;
 
-	if (conn->pending_count == queue_size) {
+	if (conn->pending_count == aqueue_count(conn->request_queue)) {
 		/* no non-pending requests */
 		return FALSE;
 	}
-	if (queue_size > DB_LDAP_MAX_PENDING_REQUESTS) {
+	if (conn->pending_count > DB_LDAP_MAX_PENDING_REQUESTS) {
 		/* wait until server has replied to some requests */
 		return FALSE;
 	}