@ -6304,12 +6304,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);