|
|
@@ -8391,12 +8391,9 @@ static struct pool *select_longpoll_pool(struct pool *cp)
|
|
|
*/
|
|
|
static void wait_lpcurrent(struct pool *pool)
|
|
|
{
|
|
|
- if (cnx_needed(pool))
|
|
|
- return;
|
|
|
-
|
|
|
- while (pool->enabled == POOL_DISABLED ||
|
|
|
+ while (!cnx_needed(pool) && (pool->enabled == POOL_DISABLED ||
|
|
|
(pool != current_pool() && pool_strategy != POOL_LOADBALANCE &&
|
|
|
- pool_strategy != POOL_BALANCE)) {
|
|
|
+ pool_strategy != POOL_BALANCE))) {
|
|
|
mutex_lock(&lp_lock);
|
|
|
pthread_cond_wait(&lp_cond, &lp_lock);
|
|
|
mutex_unlock(&lp_lock);
|