mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-27 06:54:36 +00:00
Clean up completely on avalon shutdown.
This commit is contained in:
parent
a4c96d759a
commit
ce196049fd
@ -1318,18 +1318,6 @@ static bool avalon_prepare(struct thr_info *thr)
|
||||
return true;
|
||||
}
|
||||
|
||||
static void do_avalon_close(struct thr_info *thr)
|
||||
{
|
||||
struct cgpu_info *avalon = thr->cgpu;
|
||||
struct avalon_info *info = avalon->device_data;
|
||||
|
||||
pthread_join(info->read_thr, NULL);
|
||||
pthread_join(info->write_thr, NULL);
|
||||
avalon_running_reset(avalon, info);
|
||||
|
||||
info->no_matching_work = 0;
|
||||
}
|
||||
|
||||
static inline void record_temp_fan(struct avalon_info *info, struct avalon_result *ar, float *temp_avg)
|
||||
{
|
||||
info->fan0 = ar->fan0 * AVALON_FAN_FACTOR;
|
||||
@ -1612,7 +1600,20 @@ static struct api_data *avalon_api_stats(struct cgpu_info *cgpu)
|
||||
|
||||
static void avalon_shutdown(struct thr_info *thr)
|
||||
{
|
||||
do_avalon_close(thr);
|
||||
struct cgpu_info *avalon = thr->cgpu;
|
||||
struct avalon_info *info = avalon->device_data;
|
||||
|
||||
pthread_join(info->read_thr, NULL);
|
||||
pthread_join(info->write_thr, NULL);
|
||||
avalon_running_reset(avalon, info);
|
||||
cgsem_destroy(&info->qsem);
|
||||
mutex_destroy(&info->qlock);
|
||||
mutex_destroy(&info->lock);
|
||||
free(avalon->works);
|
||||
avalon->works = NULL;
|
||||
free(avalon->device_data);
|
||||
avalon->device_data = NULL;
|
||||
thr->cgpu = usb_free_cgpu(avalon);
|
||||
}
|
||||
|
||||
static char *avalon_set_device(struct cgpu_info *avalon, char *option, char *setting, char *replybuf)
|
||||
|
Loading…
x
Reference in New Issue
Block a user