]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/result.c
Import slapd.conf mode change (with typo correction) from -devel.
[openldap] / servers / slapd / result.c
index a18ba20a8611ba266c2c212f56e5310cb54e294f..04490d3b7274205cc968d2c98d6a76745b74de6d 100644 (file)
@@ -116,6 +116,10 @@ send_ldap_result2(
                pthread_kill( listener_tid, LDAP_SIGUSR1 );
 
                pthread_cond_wait( &conn->c_wcv, &active_threads_mutex );
+
+               if( active_threads < 1 ) {
+                       pthread_cond_signal(&active_threads_cond);
+               }
                pthread_mutex_unlock( &active_threads_mutex );
 
                pthread_yield();
@@ -196,7 +200,7 @@ send_search_entry(
                return( 1 );
        }
 
-       edn = dn_normalize_case( strdup( e->e_dn ) );
+       edn = dn_normalize_case( ch_strdup( e->e_dn ) );
 
 #ifdef LDAP_COMPAT30
        if ( (ber = ber_alloc_t( conn->c_version == 30 ? 0 : LBER_USE_DER ))
@@ -346,6 +350,10 @@ send_search_entry(
                conn->c_writewaiter = 1;
                pthread_kill( listener_tid, LDAP_SIGUSR1 );
                pthread_cond_wait( &conn->c_wcv, &active_threads_mutex );
+
+               if( active_threads < 1 ) {
+                       pthread_cond_signal(&active_threads_cond);
+               }
                pthread_mutex_unlock( &active_threads_mutex );
 
                pthread_yield();