From d0881e82a24e024b40619bd734cb1855b297d09e Mon Sep 17 00:00:00 2001 From: elbandi Date: Thu, 18 Jun 2015 13:36:20 +0200 Subject: [PATCH] store the next difficulty --- miner.h | 1 + util.c | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/miner.h b/miner.h index 206d2763..9c5f1687 100644 --- a/miner.h +++ b/miner.h @@ -1391,6 +1391,7 @@ struct pool { unsigned char *coinbase; size_t nonce2_offset; unsigned char header_bin[128]; + double next_diff; int merkle_offset; struct timeval tv_lastwork; diff --git a/util.c b/util.c index ae62be2d..cae24695 100644 --- a/util.c +++ b/util.c @@ -1560,6 +1560,7 @@ static bool parse_notify(struct pool *pool, json_t *val) pool->swork.nbit = nbit; pool->swork.ntime = ntime; pool->swork.clean = clean; + pool->swork.diff = pool->next_diff; alloc_len = pool->swork.cb_len = cb1_len + pool->n1_len + pool->n2size + cb2_len; pool->nonce2_offset = cb1_len + pool->n1_len; @@ -1668,8 +1669,8 @@ static bool parse_diff(struct pool *pool, json_t *val) return false; cg_wlock(&pool->data_lock); - old_diff = pool->swork.diff; - pool->swork.diff = diff; + old_diff = pool->next_diff; + pool->next_diff = diff; cg_wunlock(&pool->data_lock); if (old_diff != diff) { @@ -2560,7 +2561,7 @@ out: if (!pool->stratum_url) pool->stratum_url = pool->sockaddr_url; pool->stratum_active = true; - pool->swork.diff = 1; + pool->next_diff = pool->swork.diff = 1; if (opt_protocol) { applog(LOG_DEBUG, "%s confirmed mining.subscribe with extranonce1 %s extran2size %d", get_pool_name(pool), pool->nonce1, pool->n2size);