# HG changeset patch # User Timo Sirainen # Date 1249670698 14400 # Node ID a8bd5b0b6bb96eecb6bf88add97dc2c2686a94c4 # Parent e57d5c9daed387697618304a245cf2e52e596f54 ldap: Fixed hang when >128 requests were sent at once. Based on patch by Marek Miska. diff -r e57d5c9daed3 -r a8bd5b0b6bb9 src/auth/db-ldap.c --- 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; }