From 5033dcd355e6c0671ebba2fdc7427f190b68cc50 Mon Sep 17 00:00:00 2001 From: Kano Date: Tue, 27 Dec 2011 18:33:49 +1100 Subject: [PATCH] fix test/set of thr->pth to also work in windows --- README | 2 +- main.c | 4 ++-- miner.h | 6 ++++++ util.c | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README b/README index 518452c1..42edbd78 100644 --- a/README +++ b/README @@ -282,7 +282,7 @@ dedicated to this program, The output line shows the following: (5s):1713.6 (avg):1707.8 Mh/s | Q:301 A:729 R:8 HW:0 E:242% U:22.53/m -Each column is as folloss: +Each column is as follows: A 5 second exponentially decaying average hash rate An all time average hash rate The number of requested (Queued) work items from the pools diff --git a/main.c b/main.c index 1867e681..8c4bfdb4 100644 --- a/main.c +++ b/main.c @@ -3785,7 +3785,7 @@ static void *api_thread(void *userdata) api(); - mythr->pth = 0L; + PTH(mythr) = 0L; return NULL; } @@ -4925,7 +4925,7 @@ static void *longpoll_thread(void *userdata) pool = select_longpoll_pool(); new_longpoll: - if (!pool->hdr_path) { + if (!pool) { applog(LOG_WARNING, "No long-poll found on any pool server"); goto out; } diff --git a/miner.h b/miner.h index 1a831588..bd451401 100644 --- a/miner.h +++ b/miner.h @@ -237,6 +237,12 @@ struct cgpu_info { #endif }; +#ifndef WIN32 +#define PTH(thr) ((thr)->pth) +#else +#define PTH(thr) ((thr)->pth.p) +#endif + struct thread_q { struct list_head q; diff --git a/util.c b/util.c index 3df1fb34..a9a32966 100644 --- a/util.c +++ b/util.c @@ -681,10 +681,10 @@ void thr_info_cancel(struct thr_info *thr) if (thr->q) tq_freeze(thr->q); - if (thr->pth) { + if (PTH(thr) != 0L) { if (!pthread_cancel(thr->pth)) pthread_join(thr->pth, NULL); - thr->pth = 0L; + PTH(thr) = 0L; } }