}
void *
-backend_connect( Backend *b )
+backend_connect( void *ctx, void *arg )
{
struct evutil_addrinfo hints = {};
+ Backend *b = arg;
#ifdef LDAP_PF_LOCAL
if ( b->b_proto == LDAP_PROTO_IPC ) {
}
LDAP_STAILQ_FOREACH ( b, &backend, b_next ) {
- rc = backend_connect( b );
- if ( rc ) {
- return rc;
- }
+ ldap_pvt_thread_pool_submit( &connection_pool, backend_connect, b );
}
lloadd_inited = 1;
* backend.c
*/
-LDAP_SLAPD_F (int) backend_connect( Backend *b );
+LDAP_SLAPD_F (void *) backend_connect( void *ctx, void *arg );
/*
* ch_malloc.c
b->b_conns = NULL;
ldap_pvt_thread_mutex_unlock( &b->b_lock );
+ ldap_pvt_thread_pool_submit( &connection_pool, backend_connect, b );
+
ldap_pvt_thread_mutex_lock( &c->c_mutex );
event_del( c->c_read_event );