Browse Source

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

nfactor-troky
Con Kolivas 12 years ago
parent
commit
b4cac54a7e
  1. 5
      cgminer.c
  2. 1
      miner.h

5
cgminer.c

@ -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;
} }

1
miner.h

@ -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;

Loading…
Cancel
Save