diff --git a/cgminer.c b/cgminer.c index 0c98f616..fd70bb81 100644 --- a/cgminer.c +++ b/cgminer.c @@ -5495,7 +5495,10 @@ static struct work *hash_pop(void) then.tv_sec = now.tv_sec + 5; then.tv_nsec = now.tv_usec * 1000; rc = pthread_cond_timedwait(&getq->cond, stgd_lock, &then); - if (rc) { + /* Check again for !no_work as multiple threads may be + * waiting on this condition and another may set the + * bool separately. */ + if (rc && !no_work) { applog(LOG_WARNING, "Waiting for work to be available from pools."); no_work = true; }