Browse Source

Ignore any pings pushed to the worker threads if the thread is still paused to prevent it being enabled and disabled repeatedly.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
fd28d9f407
  1. 4
      cgminer.c

4
cgminer.c

@ -4353,7 +4353,9 @@ static void mt_disable(struct thr_info *mythr, const int thr_id, @@ -4353,7 +4353,9 @@ static void mt_disable(struct thr_info *mythr, const int thr_id,
mythr->rolling = mythr->cgpu->rolling = 0;
applog(LOG_DEBUG, "Popping wakeup ping in miner thread");
thread_reportout(mythr);
tq_pop(mythr->q, NULL); /* Ignore ping that's popped */
do {
tq_pop(mythr->q, NULL); /* Ignore ping that's popped */
} while (mythr->pause);
thread_reportin(mythr);
applog(LOG_WARNING, "Thread %d being re-enabled", thr_id);
if (api->thread_enable)

Loading…
Cancel
Save