|
|
@ -1725,8 +1725,10 @@ static bool submit_upstream_work(const struct work *work, CURL *curl) |
|
|
|
/* Once we have more than a nominal amount of sequential rejects,
|
|
|
|
/* Once we have more than a nominal amount of sequential rejects,
|
|
|
|
* at least 10 and more than 3 mins at the current utility, |
|
|
|
* at least 10 and more than 3 mins at the current utility, |
|
|
|
* disable the pool because some pool error is likely to have |
|
|
|
* disable the pool because some pool error is likely to have |
|
|
|
* ensued. */ |
|
|
|
* ensued. Do not do this if we know the share just happened to |
|
|
|
if (pool->seq_rejects > 10 && opt_disable_pool && total_pools > 1) { |
|
|
|
* be stale due to networking delays. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
if (pool->seq_rejects > 10 && !work->stale && opt_disable_pool && total_pools > 1) { |
|
|
|
double utility = total_accepted / ( total_secs ? total_secs : 1 ) * 60; |
|
|
|
double utility = total_accepted / ( total_secs ? total_secs : 1 ) * 60; |
|
|
|
|
|
|
|
|
|
|
|
if (pool->seq_rejects > utility * 3) { |
|
|
|
if (pool->seq_rejects > utility * 3) { |
|
|
@ -2161,6 +2163,7 @@ static void *submit_work_thread(void *userdata) |
|
|
|
pool->stale_shares++; |
|
|
|
pool->stale_shares++; |
|
|
|
goto out; |
|
|
|
goto out; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
work->stale = true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ce = pop_curl_entry(pool); |
|
|
|
ce = pop_curl_entry(pool); |
|
|
|