From 362f16479ae0271a5e98bb0b5d6efe5696e61fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Fri, 16 Mar 2018 13:05:21 +0000 Subject: [PATCH] Deal with no backends being configured --- servers/lloadd/daemon.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/servers/lloadd/daemon.c b/servers/lloadd/daemon.c index 1ac318325f..8e4cc86d6a 100644 --- a/servers/lloadd/daemon.c +++ b/servers/lloadd/daemon.c @@ -1318,17 +1318,19 @@ lloadd_daemon( struct event_base *daemon_base ) return rc; } - current_backend = LDAP_CIRCLEQ_FIRST( &backend ); - LDAP_CIRCLEQ_FOREACH ( b, &backend, b_next ) { - event = evtimer_new( daemon_base, backend_connect, b ); - if ( !event ) { - Debug( LDAP_DEBUG_ANY, "lloadd: " - "failed to allocate retry event\n" ); - return -1; - } - b->b_retry_event = event; + if ( !LDAP_CIRCLEQ_EMPTY( &backend ) ) { + current_backend = LDAP_CIRCLEQ_FIRST( &backend ); + LDAP_CIRCLEQ_FOREACH ( b, &backend, b_next ) { + event = evtimer_new( daemon_base, backend_connect, b ); + if ( !event ) { + Debug( LDAP_DEBUG_ANY, "lloadd: " + "failed to allocate retry event\n" ); + return -1; + } + b->b_retry_event = event; - backend_retry( b ); + backend_retry( b ); + } } event = evtimer_new( daemon_base, operations_timeout, event_self_cbarg() );