Avoid potential for div-by-zero, when calculating max-nonce

This commit is contained in:
Jeff Garzik 2011-03-21 03:45:26 -04:00 committed by Jeff Garzik
parent d49d639269
commit 144cf62d7c

View file

@ -585,10 +585,15 @@ static void *miner_thread(void *userdata)
hashmeter(thr_id, &diff, hashes_done); hashmeter(thr_id, &diff, hashes_done);
/* adjust max_nonce to meet target scan time */ /* adjust max_nonce to meet target scan time */
max64 = ((uint64_t)hashes_done * opt_scantime) / diff.tv_sec; if (diff.tv_usec > 500000)
if (max64 > 0xfffffffaULL) diff.tv_sec++;
max64 = 0xfffffffaULL; if (diff.tv_sec > 0) {
max_nonce = max64; max64 =
((uint64_t)hashes_done * opt_scantime) / diff.tv_sec;
if (max64 > 0xfffffffaULL)
max64 = 0xfffffffaULL;
max_nonce = max64;
}
/* if nonce found, submit work */ /* if nonce found, submit work */
if (rc && !submit_work(mythr, &work)) if (rc && !submit_work(mythr, &work))