mirror of
https://github.com/GOSTSec/sgminer
synced 2025-02-02 10:04:33 +00:00
Only retarget stratum shares to new pool diff if diff has dropped.
This commit is contained in:
parent
498882d829
commit
a47a7886d5
@ -5320,7 +5320,7 @@ static bool hashtest(struct thr_info *thr, struct work *work)
|
|||||||
unsigned char hash2[32];
|
unsigned char hash2[32];
|
||||||
uint32_t *hash2_32 = (uint32_t *)hash2;
|
uint32_t *hash2_32 = (uint32_t *)hash2;
|
||||||
struct pool *pool = work->pool;
|
struct pool *pool = work->pool;
|
||||||
int i, diff;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < 80 / 4; i++)
|
for (i = 0; i < 80 / 4; i++)
|
||||||
swap32[i] = swab32(data32[i]);
|
swap32[i] = swab32(data32[i]);
|
||||||
@ -5346,11 +5346,15 @@ static bool hashtest(struct thr_info *thr, struct work *work)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (work->stratum) {
|
if (work->stratum) {
|
||||||
|
int diff;
|
||||||
|
|
||||||
mutex_lock(&pool->pool_lock);
|
mutex_lock(&pool->pool_lock);
|
||||||
diff = pool->swork.diff;
|
diff = pool->swork.diff;
|
||||||
mutex_unlock(&pool->pool_lock);
|
mutex_unlock(&pool->pool_lock);
|
||||||
|
|
||||||
if (unlikely(work->sdiff != diff)) {
|
/* Retarget share only if pool diff has dropped since we
|
||||||
|
* generated this work */
|
||||||
|
if (unlikely(work->sdiff > diff)) {
|
||||||
applog(LOG_DEBUG, "Share needs retargetting to match pool");
|
applog(LOG_DEBUG, "Share needs retargetting to match pool");
|
||||||
set_work_target(work, diff);
|
set_work_target(work, diff);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user