Browse Source

When API shuts down cgminer don't kill itself

nfactor-troky
Kano 13 years ago
parent
commit
e3281c2643
  1. 8
      api.c
  2. 2
      cgminer.c
  3. 2
      miner.h

8
api.c

@ -349,6 +349,7 @@ struct CODES {
{ SEVERITY_FAIL, 0, 0, NULL } { SEVERITY_FAIL, 0, 0, NULL }
}; };
static int my_thr_id = 0;
static int bye = 0; static int bye = 0;
static bool ping = true; static bool ping = true;
@ -1135,6 +1136,9 @@ void doquit(SOCKETTYPE c, __maybe_unused char *param, bool isjson)
send_result(c, isjson); send_result(c, isjson);
*io_buffer = '\0'; *io_buffer = '\0';
bye = 1; bye = 1;
PTH(&thr_info[my_thr_id]) = 0L;
kill_work(); kill_work();
} }
@ -1347,7 +1351,7 @@ popipo:
free(buf); free(buf);
} }
void api(void) void api(int api_thr_id)
{ {
char buf[BUFSIZ]; char buf[BUFSIZ];
char param_buf[BUFSIZ]; char param_buf[BUFSIZ];
@ -1372,6 +1376,8 @@ void api(void)
bool did; bool did;
int i; int i;
my_thr_id = api_thr_id;
/* This should be done first to ensure curl has already called WSAStartup() in windows */ /* This should be done first to ensure curl has already called WSAStartup() in windows */
sleep(opt_log_interval); sleep(opt_log_interval);

2
cgminer.c

@ -2802,7 +2802,7 @@ static void *api_thread(void *userdata)
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
api(); api(api_thr_id);
PTH(mythr) = 0L; PTH(mythr) = 0L;

2
miner.h

@ -449,7 +449,7 @@ extern int set_engineclock(int gpu, int iEngineClock);
extern int set_memoryclock(int gpu, int iMemoryClock); extern int set_memoryclock(int gpu, int iMemoryClock);
#endif #endif
extern void api(void); extern void api(int thr_id);
#define MAX_GPUDEVICES 16 #define MAX_GPUDEVICES 16
#define MAX_DEVICES 32 #define MAX_DEVICES 32

Loading…
Cancel
Save