]> git.sur5r.net Git - openldap/commitdiff
Changes from HEAD
authorKurt Zeilenga <kurt@openldap.org>
Wed, 25 Jan 2006 03:25:35 +0000 (03:25 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 25 Jan 2006 03:25:35 +0000 (03:25 +0000)
+       Update libldap_r thread pool destroy hang fix (ITS#4368)
+       Fixed slapd slap_daemon destroy issue (ITS#4370)

CHANGES
libraries/libldap_r/tpool.c
servers/slapd/daemon.c

diff --git a/CHANGES b/CHANGES
index cdbf2a98b2326d9d8183a615a7c5f5d8310e1327..1853dc29bc56b2ce8ae5911e3512803651972a80 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,7 +2,8 @@ OpenLDAP 2.3 Change Log
 
 OpenLDAP 2.3.19 Engineering
        Fixed libldap disable DH key exchange with DH params (ITS#4354)
-       Fixed libldap_r pool destroy hang (ITS#4349)
+       Fixed libldap_r thread pool destroy hang (ITS#4349,ITS#4368)
+       Fixed slapd slap_daemon destroy issue (ITS#4370)
        Fixed slapd-hdb livelock issue (ITS#4360)
        Fixed slapd-bdb/hdb auto-recovery issue (ITS#4361)
        Fixed slapd-bdb/hdb BDB 4.4 compatibility issues (ITS#4362)
index 1937589b757635d2ee6e88e7bb91ae8e0c58706d..d044f05d1cfcc7fd24960cd5121014e32d76ed0b 100644 (file)
@@ -382,6 +382,7 @@ ldap_pvt_thread_pool_destroy ( ldap_pvt_thread_pool_t *tpool, int run_pending )
                ldap_pvt_thread_cond_broadcast(&pool->ltp_cond);
                ldap_pvt_thread_cond_wait(&pool->ltp_cond, &pool->ltp_mutex);
        }
+       ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
 
        while ((ctx = LDAP_STAILQ_FIRST(&pool->ltp_pending_list)) != NULL)
        {
index 8a6d1fa905c2636b3fba9ffcc106b973ef705141..dac4749ae547b0ff816544004d7a389640cade57 100644 (file)
@@ -1136,6 +1136,12 @@ int slapd_daemon_init( const char *urls )
 
        Debug( LDAP_DEBUG_ARGS, "daemon_init: %s\n",
                urls ? urls : "<null>", 0, 0 );
+
+       ldap_pvt_thread_mutex_init( &slap_daemon.sd_mutex );
+#ifdef HAVE_TCPD
+       ldap_pvt_thread_mutex_init( &slap_daemon.tcpd_mutex );
+#endif
+
        if( (rc = sockinit()) != 0 ) return rc;
 
 #ifdef HAVE_SYSCONF
@@ -1205,11 +1211,6 @@ int slapd_daemon_init( const char *urls )
 #endif
 
        ldap_charray_free( u );
-       ldap_pvt_thread_mutex_init( &slap_daemon.sd_mutex );
-
-#ifdef HAVE_TCPD
-       ldap_pvt_thread_mutex_init( &slap_daemon.tcpd_mutex );
-#endif
 
        return !i;
 }