|
|
@@ -4331,24 +4331,6 @@ static void *watchpool_thread(void __maybe_unused *userdata)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
-/* Work is sorted according to age, so discard the oldest work items, leaving
|
|
|
- * only 1 staged work item per mining thread */
|
|
|
-static void age_work(void)
|
|
|
-{
|
|
|
- int discarded = 0;
|
|
|
-
|
|
|
- while (requests_staged() > mining_threads * 4 / 3 + opt_queue) {
|
|
|
- struct work *work = hash_pop(NULL);
|
|
|
-
|
|
|
- if (unlikely(!work))
|
|
|
- break;
|
|
|
- discard_work(work);
|
|
|
- discarded++;
|
|
|
- }
|
|
|
- if (discarded)
|
|
|
- applog(LOG_DEBUG, "Aged %d work items", discarded);
|
|
|
-}
|
|
|
-
|
|
|
/* Makes sure the hashmeter keeps going even if mining threads stall, updates
|
|
|
* the screen at regular intervals, and restarts threads if they appear to have
|
|
|
* died. */
|
|
|
@@ -4370,8 +4352,6 @@ static void *watchdog_thread(void __maybe_unused *userdata)
|
|
|
if (requests_queued() < opt_queue)
|
|
|
queue_request(NULL, false);
|
|
|
|
|
|
- age_work();
|
|
|
-
|
|
|
hashmeter(-1, &zero_tv, 0);
|
|
|
|
|
|
#ifdef HAVE_CURSES
|