|
|
@ -3901,6 +3901,7 @@ static bool queue_request(void) |
|
|
|
int ts, tq, maxq = opt_queue + mining_threads; |
|
|
|
int ts, tq, maxq = opt_queue + mining_threads; |
|
|
|
struct pool *pool, *cp; |
|
|
|
struct pool *pool, *cp; |
|
|
|
struct workio_cmd *wc; |
|
|
|
struct workio_cmd *wc; |
|
|
|
|
|
|
|
bool lagging; |
|
|
|
|
|
|
|
|
|
|
|
ts = total_staged(); |
|
|
|
ts = total_staged(); |
|
|
|
tq = global_queued(); |
|
|
|
tq = global_queued(); |
|
|
@ -3908,10 +3909,11 @@ static bool queue_request(void) |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
|
|
|
|
|
|
|
|
cp = current_pool(); |
|
|
|
cp = current_pool(); |
|
|
|
if (cp->staged + cp->queued >= maxq) |
|
|
|
lagging = !opt_fail_only && cp->lagging && !ts && cp->queued >= maxq; |
|
|
|
|
|
|
|
if (!lagging && cp->staged + cp->queued >= maxq) |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
|
|
|
|
|
|
|
|
pool = select_pool(false); |
|
|
|
pool = select_pool(lagging); |
|
|
|
if (pool->staged + pool->queued >= maxq) |
|
|
|
if (pool->staged + pool->queued >= maxq) |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
|
|
|
|
|
|
|
|