Browse Source

fix test/set of thr->pth to also work in windows

Kano 14 years ago
parent
commit
5033dcd355
4 changed files with 11 additions and 5 deletions
  1. 1 1
      README
  2. 2 2
      main.c
  3. 6 0
      miner.h
  4. 2 2
      util.c

+ 1 - 1
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

+ 2 - 2
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;
 	}

+ 6 - 0
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;
 

+ 2 - 2
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;
 	}
 }