mirror of
https://github.com/GOSTSec/sgminer
synced 2025-02-08 21:14:14 +00:00
Load balancing puts more into the current pool if there are disabled pools. Fix.
This commit is contained in:
parent
27c7d2a480
commit
afcff07012
25
main.c
25
main.c
@ -929,22 +929,29 @@ out_nofree:
|
|||||||
static const char *rpc_req =
|
static const char *rpc_req =
|
||||||
"{\"method\": \"getwork\", \"params\": [], \"id\":0}\r\n";
|
"{\"method\": \"getwork\", \"params\": [], \"id\":0}\r\n";
|
||||||
|
|
||||||
static int rotating_pool;
|
|
||||||
|
|
||||||
/* Select any active pool in a rotating fashion when loadbalance is chosen */
|
/* Select any active pool in a rotating fashion when loadbalance is chosen */
|
||||||
static inline struct pool *select_pool(void)
|
static inline struct pool *select_pool(void)
|
||||||
{
|
{
|
||||||
if (pool_strategy == POOL_LOADBALANCE) {
|
static int rotating_pool;
|
||||||
struct pool *pool;
|
struct pool *pool, *cp;
|
||||||
|
|
||||||
rotating_pool++;
|
cp = current_pool();
|
||||||
if (rotating_pool >= total_pools)
|
|
||||||
|
if (pool_strategy != POOL_LOADBALANCE)
|
||||||
|
pool = cp;
|
||||||
|
else
|
||||||
|
pool = NULL;
|
||||||
|
|
||||||
|
while (!pool) {
|
||||||
|
if (++rotating_pool >= total_pools)
|
||||||
rotating_pool = 0;
|
rotating_pool = 0;
|
||||||
pool = pools[rotating_pool];
|
pool = pools[rotating_pool];
|
||||||
if (!pool->idle && pool->enabled)
|
if ((!pool->idle && pool->enabled) || pool == cp)
|
||||||
return pools[rotating_pool];
|
break;
|
||||||
|
pool = NULL;
|
||||||
}
|
}
|
||||||
return current_pool();
|
|
||||||
|
return pool;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool get_upstream_work(struct work *work)
|
static bool get_upstream_work(struct work *work)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user