]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Deal with no backends being configured
authorOndřej Kuzník <okuznik@symas.com>
Fri, 16 Mar 2018 13:05:21 +0000 (13:05 +0000)
committerOndřej Kuzník <okuznik@symas.com>
Tue, 17 Nov 2020 17:58:14 +0000 (17:58 +0000)
servers/lloadd/daemon.c

index 1ac318325f7484a8fbfd79bf0928ad305999f5b9..8e4cc86d6a9d1151e678288559b25b6d77130850 100644 (file)
@@ -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() );