]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9596 Let others wait on the startup readiness indication
authorOndřej Kuzník <ondra@mistotebe.net>
Wed, 12 May 2021 10:03:05 +0000 (11:03 +0100)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 14 Dec 2021 16:30:54 +0000 (16:30 +0000)
servers/slapd/daemon.c
servers/slapd/proto-slap.h

index a3d0cc19893a41b12fe1d4d1b553d2feb41d726f..03345c6fa2e7a7b9301e33595a0232000fe1dbe7 100644 (file)
@@ -2612,7 +2612,7 @@ slapd_daemon_task(
                                        sock_errstr(err, ebuf, sizeof(ebuf)) );
                        ldap_pvt_thread_mutex_lock( &slapd_init_mutex );
                        slapd_shutdown = 2;
-                       ldap_pvt_thread_cond_signal( &slapd_init_cond );
+                       ldap_pvt_thread_cond_broadcast( &slapd_init_cond );
                        ldap_pvt_thread_mutex_unlock( &slapd_init_mutex );
                        return (void*)-1;
                }
@@ -2623,7 +2623,7 @@ slapd_daemon_task(
                                "set nonblocking on a listening socket failed\n" );
                        ldap_pvt_thread_mutex_lock( &slapd_init_mutex );
                        slapd_shutdown = 2;
-                       ldap_pvt_thread_cond_signal( &slapd_init_cond );
+                       ldap_pvt_thread_cond_broadcast( &slapd_init_cond );
                        ldap_pvt_thread_mutex_unlock( &slapd_init_mutex );
                        return (void*)-1;
                }
@@ -2633,7 +2633,7 @@ slapd_daemon_task(
 
        ldap_pvt_thread_mutex_lock( &slapd_init_mutex );
        slapd_ready = 1;
-       ldap_pvt_thread_cond_signal( &slapd_init_cond );
+       ldap_pvt_thread_cond_broadcast( &slapd_init_cond );
        ldap_pvt_thread_mutex_unlock( &slapd_init_mutex );
 
 #ifdef HAVE_NT_SERVICE_MANAGER
index 18dae88e1277ac64f82cbef318a6b026bd597ec3..047d35d210cfc8b6996a3c06cd374f90a9ec4e41 100644 (file)
@@ -905,6 +905,7 @@ LDAP_SLAPD_V (SOCKET *) slapd_ws_sockets;
 
 LDAP_SLAPD_V (ldap_pvt_thread_mutex_t) slapd_init_mutex;
 LDAP_SLAPD_V (ldap_pvt_thread_cond_t) slapd_init_cond;
+LDAP_SLAPD_V (int) slapd_ready;
 
 /*
  * dn.c