1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00

Keep stratum connections open for 2 minutes after the last work item was staged to allow stray shares to be submitted on pool switching.

This commit is contained in:
Con Kolivas 2013-02-28 23:35:31 +11:00
parent 3c949e5f6c
commit b4cac54a7e
2 changed files with 6 additions and 0 deletions

View File

@ -3663,6 +3663,7 @@ static void stage_work(struct work *work)
{ {
applog(LOG_DEBUG, "Pushing work from pool %d to hash queue", work->pool->pool_no); applog(LOG_DEBUG, "Pushing work from pool %d to hash queue", work->pool->pool_no);
work->work_block = work_block; work->work_block = work_block;
work->pool->last_work_time = time(NULL);
test_work_current(work); test_work_current(work);
hash_push(work); hash_push(work);
} }
@ -4669,6 +4670,10 @@ static bool cnx_needed(struct pool *pool)
return true; return true;
if (!cp->has_gbt && !cp->has_stratum && (!opt_fail_only || !cp->hdr_path)) if (!cp->has_gbt && !cp->has_stratum && (!opt_fail_only || !cp->hdr_path))
return true; return true;
/* Keep the connection open to allow any stray shares to be submitted
* on switching pools for 2 minutes. */
if (time(NULL) < pool->last_work_time + 120)
return true;
return false; return false;
} }

View File

@ -924,6 +924,7 @@ struct pool {
pthread_cond_t cr_cond; pthread_cond_t cr_cond;
struct list_head curlring; struct list_head curlring;
time_t last_work_time;
time_t last_share_time; time_t last_share_time;
double last_share_diff; double last_share_diff;