|
|
|
@ -2298,6 +2298,8 @@ static void reject_pool(struct pool *pool)
@@ -2298,6 +2298,8 @@ static void reject_pool(struct pool *pool)
|
|
|
|
|
pool->enabled = POOL_REJECTING; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void restart_threads(void); |
|
|
|
|
|
|
|
|
|
/* Theoretically threads could race when modifying accepted and
|
|
|
|
|
* rejected values but the chance of two submits completing at the |
|
|
|
|
* same time is zero so there is no point adding extra locking */ |
|
|
|
@ -2351,6 +2353,10 @@ share_result(json_t *val, json_t *res, json_t *err, const struct work *work,
@@ -2351,6 +2353,10 @@ share_result(json_t *val, json_t *res, json_t *err, const struct work *work,
|
|
|
|
|
enable_pool(pool); |
|
|
|
|
switch_pools(NULL); |
|
|
|
|
} |
|
|
|
|
/* If we know we found the block we know better than anyone
|
|
|
|
|
* that new work is needed. */ |
|
|
|
|
if (unlikely(work->block)) |
|
|
|
|
restart_threads(); |
|
|
|
|
} else { |
|
|
|
|
mutex_lock(&stats_lock); |
|
|
|
|
cgpu->rejected++; |
|
|
|
|