1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 15:27:53 +00:00

Update diff stale: total and pools when stratum throws away shares

This commit is contained in:
Kano 2013-03-01 16:49:08 +11:00
parent 9136bfc829
commit 42a01e7b37

View File

@ -4698,12 +4698,14 @@ out:
void clear_stratum_shares(struct pool *pool) void clear_stratum_shares(struct pool *pool)
{ {
struct stratum_share *sshare, *tmpshare; struct stratum_share *sshare, *tmpshare;
double diff_cleared = 0;
int cleared = 0; int cleared = 0;
mutex_lock(&sshare_lock); mutex_lock(&sshare_lock);
HASH_ITER(hh, stratum_shares, sshare, tmpshare) { HASH_ITER(hh, stratum_shares, sshare, tmpshare) {
if (sshare->work->pool == pool) { if (sshare->work->pool == pool) {
HASH_DEL(stratum_shares, sshare); HASH_DEL(stratum_shares, sshare);
diff_cleared += sshare->work->work_difficulty;
free_work(sshare->work); free_work(sshare->work);
free(sshare); free(sshare);
cleared++; cleared++;
@ -4715,6 +4717,8 @@ void clear_stratum_shares(struct pool *pool)
applog(LOG_WARNING, "Lost %d shares due to stratum disconnect on pool %d", cleared, pool->pool_no); applog(LOG_WARNING, "Lost %d shares due to stratum disconnect on pool %d", cleared, pool->pool_no);
pool->stale_shares += cleared; pool->stale_shares += cleared;
total_stale += cleared; total_stale += cleared;
pool->diff_stale += diff_cleared;
total_diff_stale += diff_cleared;
} }
} }