ldap_pvt_thread_cond_destroy(&pool->ltp_pcond);
ldap_pvt_thread_cond_destroy(&pool->ltp_cond);
ldap_pvt_thread_mutex_destroy(&pool->ltp_mutex);
+ for (i=0; i<pool->ltp_numqs; i++) {
+ pq = pool->ltp_wqs[i];
+ if (pq->ltp_free) {
+ LDAP_FREE(pq->ltp_free);
+ }
+ }
+ LDAP_FREE(pool->ltp_wqs);
LDAP_FREE(pool);
*tpool = NULL;
ldap_int_has_thread_pool = 0;
ldap_pvt_thread_cond_destroy(&pq->ltp_cond);
ldap_pvt_thread_mutex_destroy(&pq->ltp_mutex);
LDAP_FREE(pq->ltp_free);
+ pq->ltp_free = NULL;
}
ldap_pvt_thread_exit(NULL);
return(NULL);
}
if ( l == 0 ) {
- return value_add_one( bva, ber_bvstr( "0" ) );
+ struct berval bv = BER_BVC("0");
+ return value_add_one( bva, &bv );
}
return mask_to_verbs( loglevel_ops, l, bva );