|
|
|
@ -2384,11 +2384,13 @@ static bool active_device(int thr_id)
@@ -2384,11 +2384,13 @@ static bool active_device(int thr_id)
|
|
|
|
|
static void *watchdog_thread(void *userdata) |
|
|
|
|
{ |
|
|
|
|
const unsigned int interval = opt_log_interval / 2 ? : 1; |
|
|
|
|
static struct timeval rotate_tv; |
|
|
|
|
struct timeval zero_tv; |
|
|
|
|
|
|
|
|
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); |
|
|
|
|
|
|
|
|
|
memset(&zero_tv, 0, sizeof(struct timeval)); |
|
|
|
|
gettimeofday(&rotate_tv, NULL); |
|
|
|
|
|
|
|
|
|
while (1) { |
|
|
|
|
int x, y, logx, logy, i; |
|
|
|
@ -2435,6 +2437,11 @@ static void *watchdog_thread(void *userdata)
@@ -2435,6 +2437,11 @@ static void *watchdog_thread(void *userdata)
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (pool_strategy == POOL_ROTATE && now.tv_sec - rotate_tv.tv_sec > 60 * opt_rotate_period) { |
|
|
|
|
gettimeofday(&rotate_tv, NULL); |
|
|
|
|
switch_pools(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//for (i = 0; i < mining_threads; i++) {
|
|
|
|
|
for (i = 0; i < gpu_threads; i++) { |
|
|
|
|
struct thr_info *thr = &thr_info[i]; |
|
|
|
|