Browse Source

Add more comments explaining how sleep time equals wait time and simplify the

comparison.
nfactor-troky
Con Kolivas 12 years ago
parent
commit
390d77a202
  1. 8
      driver-bitforce.c

8
driver-bitforce.c

@ -368,12 +368,14 @@ static uint64_t bitforce_get_result(struct thr_info *thr, struct work *work) @@ -368,12 +368,14 @@ static uint64_t bitforce_get_result(struct thr_info *thr, struct work *work)
if (!pdevbuf[0]) /* Only return if we got nothing after timeout - there still may be results */
return 1;
} else if (!strncasecmp(pdevbuf, "N", 1)) {/* Hashing complete (NONCE-FOUND or NO-NONCE) */
/* Simple timing adjustment */
/* Simple timing adjustment. Allow a few polls to cope with
* OS timer delays being variably reliable. wait_ms will
* always equal sleep_ms when we've waited greater than or
* equal to the result return time.*/
delay_time_ms = bitforce->sleep_ms;
if (bitforce->wait_ms > bitforce->sleep_ms + (WORK_CHECK_INTERVAL_MS * 2))
bitforce->sleep_ms += (bitforce->wait_ms - bitforce->sleep_ms) / 2;
else if (bitforce->wait_ms > bitforce->sleep_ms - WORK_CHECK_INTERVAL_MS &&
bitforce->wait_ms <= bitforce->sleep_ms)
else if (bitforce->wait_ms == bitforce->sleep_ms)
bitforce->sleep_ms -= BITFORCE_CHECK_INTERVAL_MS;
if (delay_time_ms != bitforce->sleep_ms)

Loading…
Cancel
Save