diff --git a/include/util_ldap.h b/include/util_ldap.h index fc069aeec9..5d79387cca 100644 --- a/include/util_ldap.h +++ b/include/util_ldap.h @@ -190,8 +190,7 @@ APR_DECLARE_OPTIONAL_FN(apr_status_t,uldap_connection_unbind,(void *param)); * Cleanup a connection to an LDAP server * @param ldc A structure containing the expanded details of the server * that was connected. - * @tip This function is registered with the pool cleanup to close down the - * LDAP connections when the server is finished with them. + * @tip The connection is unlocked and returned to the list of free connections * @fn apr_status_t util_ldap_connection_cleanup(util_ldap_connection_t *ldc) */ APR_DECLARE_OPTIONAL_FN(apr_status_t,uldap_connection_cleanup,(void *param)); diff --git a/modules/ldap/util_ldap.c b/modules/ldap/util_ldap.c index a0900a16e0..280abadf3f 100644 --- a/modules/ldap/util_ldap.c +++ b/modules/ldap/util_ldap.c @@ -171,9 +171,8 @@ static apr_status_t uldap_connection_unbind(void *param) /* - * Clean up an LDAP connection by unbinding and unlocking the connection. - * This function is registered with the pool cleanup function - causing - * the LDAP connections to be shut down cleanly on graceful restart. + * Clean up an LDAP connection by unbinding and unlocking the connection, + * causing it to be returned to the list of free connections */ static apr_status_t uldap_connection_cleanup(void *param) { @@ -563,11 +562,6 @@ static util_ldap_connection_t * /* save away a copy of the client cert list that is presently valid */ l->client_certs = apr_array_copy_hdr(l->pool, st->client_certs); - /* add the cleanup to the pool */ - apr_pool_cleanup_register(l->pool, l, - uldap_connection_cleanup, - apr_pool_cleanup_null); - if (p) { p->next = l; }