mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Get rid of trivial yield, for completeness' sake.
This commit is contained in:
parent
78a9d66e53
commit
7f5ea4c098
@ -508,14 +508,7 @@ ldap_pvt_thread_pool_destroy ( ldap_pvt_thread_pool_t *tpool, int run_pending )
|
||||
: LDAP_INT_THREAD_POOL_STOPPING;
|
||||
|
||||
ldap_pvt_thread_cond_broadcast(&pool->ltp_cond);
|
||||
ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
|
||||
|
||||
do {
|
||||
ldap_pvt_thread_yield();
|
||||
ldap_pvt_thread_mutex_lock(&pool->ltp_mutex);
|
||||
waiting = pool->ltp_open_count;
|
||||
ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
|
||||
} while (waiting > 0);
|
||||
ldap_pvt_thread_cond_wait(&pool->ltp_cond, &pool->ltp_mutex);
|
||||
|
||||
while ((ctx = LDAP_STAILQ_FIRST(&pool->ltp_pending_list)) != NULL)
|
||||
{
|
||||
@ -645,6 +638,11 @@ ldap_int_thread_pool_wrapper (
|
||||
thread_keys[keyslot].id = tid_zero;
|
||||
|
||||
pool->ltp_open_count--;
|
||||
|
||||
/* let pool_destroy know we're all done */
|
||||
if (pool->ltp_open_count < 1)
|
||||
ldap_pvt_thread_cond_signal(&pool->ltp_cond);
|
||||
|
||||
ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
|
||||
|
||||
ldap_pvt_thread_exit(NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user