mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-22 12:34:27 +00:00
Ensure we connect at least once successfully before continuing to try to connect.
This commit is contained in:
parent
e21e923648
commit
c36cc61f64
36
main.c
36
main.c
@ -756,12 +756,25 @@ static void workio_cmd_free(struct workio_cmd *wc)
|
||||
free(wc);
|
||||
}
|
||||
|
||||
static void kill_work(void)
|
||||
static void disable_curses(void)
|
||||
{
|
||||
if (curses_active) {
|
||||
curses_active = false;
|
||||
delwin(logwin);
|
||||
delwin(statuswin);
|
||||
delwin(mainwin);
|
||||
endwin();
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
|
||||
void kill_work(void)
|
||||
{
|
||||
struct workio_cmd *wc;
|
||||
struct thr_info *thr;
|
||||
unsigned int i;
|
||||
|
||||
disable_curses();
|
||||
applog(LOG_INFO, "Received kill message");
|
||||
|
||||
/* Kill the watchdog thread */
|
||||
@ -796,19 +809,6 @@ static void kill_work(void)
|
||||
applog(LOG_ERR, "Failed to tq_push work in kill_work");
|
||||
exit (1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void disable_curses(void)
|
||||
{
|
||||
if (curses_active) {
|
||||
curses_active = false;
|
||||
delwin(logwin);
|
||||
delwin(statuswin);
|
||||
delwin(mainwin);
|
||||
endwin();
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
|
||||
static void sighandler(int sig)
|
||||
@ -2004,12 +2004,14 @@ static void print_summary(void)
|
||||
printf("\nSummary of runtime statistics:\n\n");
|
||||
printf("Started at %s\n", datestamp);
|
||||
printf("Runtime: %d hrs : %d mins : %d secs\n", hours, mins, secs);
|
||||
printf("Average hashrate: %.1f Megahash/s\n", total_mhashes_done / total_secs);
|
||||
if (total_secs)
|
||||
printf("Average hashrate: %.1f Megahash/s\n", total_mhashes_done / total_secs);
|
||||
printf("Queued work requests: %d\n", getwork_requested);
|
||||
printf("Share submissions: %d\n", accepted + rejected);
|
||||
printf("Accepted shares: %d\n", accepted);
|
||||
printf("Rejected shares: %d\n", rejected);
|
||||
printf("Reject ratio: %.1f\n", (double)(rejected * 100) / (double)(accepted + rejected));
|
||||
if (accepted || rejected)
|
||||
printf("Reject ratio: %.1f\n", (double)(rejected * 100) / (double)(accepted + rejected));
|
||||
printf("Hardware errors: %d\n", hw_errors);
|
||||
printf("Efficiency (accepted / queued): %.0f%%\n", efficiency);
|
||||
printf("Utility (accepted shares / min): %.2f/min\n\n", utility);
|
||||
@ -2332,7 +2334,7 @@ int main (int argc, char *argv[])
|
||||
gettimeofday(&total_tv_end, NULL);
|
||||
curl_global_cleanup();
|
||||
disable_curses();
|
||||
if (!opt_quiet)
|
||||
if (!opt_quiet && successful_connect)
|
||||
print_summary();
|
||||
|
||||
if (gpu_threads)
|
||||
|
2
miner.h
2
miner.h
@ -269,6 +269,7 @@ struct work {
|
||||
|
||||
bool submit_nonce(struct thr_info *thr, struct work *work, uint32_t nonce);
|
||||
|
||||
extern void kill_work(void);
|
||||
extern void log_curses(const char *f, va_list ap);
|
||||
extern void vapplog(int prio, const char *fmt, va_list ap);
|
||||
extern void applog(int prio, const char *fmt, ...);
|
||||
@ -278,5 +279,6 @@ extern bool tq_push(struct thread_q *tq, void *data);
|
||||
extern void *tq_pop(struct thread_q *tq, const struct timespec *abstime);
|
||||
extern void tq_freeze(struct thread_q *tq);
|
||||
extern void tq_thaw(struct thread_q *tq);
|
||||
extern bool successful_connect;
|
||||
|
||||
#endif /* __MINER_H__ */
|
||||
|
7
util.c
7
util.c
@ -32,6 +32,8 @@
|
||||
#define JSON_LOADS(str, err_ptr) json_loads((str), (err_ptr))
|
||||
#endif
|
||||
|
||||
bool successful_connect = false;
|
||||
|
||||
struct data_buffer {
|
||||
void *buf;
|
||||
size_t len;
|
||||
@ -340,6 +342,7 @@ json_t *json_rpc_call(CURL *curl, const char *url,
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
successful_connect = true;
|
||||
comms_error = false;
|
||||
databuf_free(&all_data);
|
||||
curl_slist_free_all(headers);
|
||||
@ -350,6 +353,10 @@ err_out:
|
||||
databuf_free(&all_data);
|
||||
curl_slist_free_all(headers);
|
||||
curl_easy_reset(curl);
|
||||
if (!successful_connect) {
|
||||
kill_work();
|
||||
applog(LOG_ERR, "Failed to connect - wrong URL or login details?");
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user