X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fresult.c;h=04490d3b7274205cc968d2c98d6a76745b74de6d;hb=5d64cae0fe2ed5c88fedb3082388e21b26d123c5;hp=a18ba20a8611ba266c2c212f56e5310cb54e294f;hpb=ec2e980376e643c15311ea5798a9609a550d0aba;p=openldap diff --git a/servers/slapd/result.c b/servers/slapd/result.c index a18ba20a86..04490d3b72 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -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();