Commit 334a9db41a0d107c2cd968cf2402bcb2685f5310

Con Kolivas 2012-10-22T23:08:38

Put a mandatory 5s wait between reattempting a getwork on failure to avoid hammering requests.

diff --git a/cgminer.c b/cgminer.c
index 5ab1531..b5f5e81 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -2681,11 +2681,11 @@ retry:
 		while (!pool->stratum_active) {
 			struct pool *altpool = select_pool(true);
 
+			sleep(5);
 			if (altpool != pool) {
 				wc->pool = altpool;
 				goto retry;
 			}
-			sleep(5);
 		}
 		ret_work = make_work();
 		gen_stratum_work(pool, ret_work);
@@ -2717,7 +2717,8 @@ retry:
 
 		/* obtain new work from bitcoin via JSON-RPC */
 		if (!get_upstream_work(ret_work, ce->curl)) {
-			applog(LOG_DEBUG, "json_rpc_call failed on get work, retrying");
+			applog(LOG_DEBUG, "Pool %d json_rpc_call failed on get work, retrying in 5s", pool->pool_no);
+			sleep(5);
 			dec_queued(pool);
 			/* Make sure the pool just hasn't stopped serving
 			 * requests but is up as we'll keep hammering it */