Browse Source

Only do local generation of work if existing work is not stale.

Con Kolivas 14 years ago
parent
commit
77b0f946f6
1 changed files with 3 additions and 1 deletions
  1. 3 1
      main.c

+ 3 - 1
main.c

@@ -1258,7 +1258,7 @@ retry:
 		goto out;
 	}
 
-	if (!requests_staged()) {
+	if (!requests_staged() && !stale_work(work)) {
 		uint32_t *work_ntime;
 		uint32_t ntime;
 
@@ -1283,6 +1283,7 @@ retry:
 				goto retry;
 			}
 		}
+
 		work_ntime = (uint32_t *)(work->data + 68);
 		ntime = be32toh(*work_ntime);
 		ntime++;
@@ -1291,6 +1292,7 @@ retry:
 		local_work++;
 		goto out;
 	}
+
 	/* wait for 1st response, or get cached response */
 	work_heap = tq_pop(thr->q, NULL);
 	if (unlikely(!work_heap)) {