diff --git a/cgminer.c b/cgminer.c index bdb0be25..22dfad55 100644 --- a/cgminer.c +++ b/cgminer.c @@ -5890,7 +5890,8 @@ static void hash_sole_work(struct thr_info *mythr) timersub(tv_end, &tv_lastupdate, &diff); /* Update the hashmeter at most 5 times per second */ - if (diff.tv_sec > 0 || diff.tv_usec > 200) { + if ((hashes_done && (diff.tv_sec > 0 || diff.tv_usec > 200000)) || + diff.tv_sec >= opt_log_interval) { hashmeter(thr_id, &diff, hashes_done); hashes_done = 0; copy_time(&tv_lastupdate, tv_end); @@ -6078,7 +6079,8 @@ void hash_queued_work(struct thr_info *mythr) cgtime(&tv_end); timersub(&tv_end, &tv_start, &diff); /* Update the hashmeter at most 5 times per second */ - if (diff.tv_sec > 0 || diff.tv_usec > 200000) { + if ((hashes_done && (diff.tv_sec > 0 || diff.tv_usec > 200000)) || + diff.tv_sec >= opt_log_interval) { hashmeter(thr_id, &diff, hashes_done); hashes_done = 0; copy_time(&tv_start, &tv_end);