diff --git a/main.c b/main.c index ed2ac41a..35a7bf61 100644 --- a/main.c +++ b/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)) {