diff options
author | fireice-uk <fireice-uk@users.noreply.github.com> | 2017-11-15 15:34:21 +0000 |
---|---|---|
committer | psychocrypt <psychocrypt@users.noreply.github.com> | 2017-11-15 16:34:21 +0100 |
commit | 117493dc5359572a171c7ffb9b55da6740593089 (patch) | |
tree | eae5efff99a00138043680408edacd2397c1e86d /xmrstak/net/msgstruct.hpp | |
parent | 288363814fb091ccfc452f0408bfa53727fc30c0 (diff) | |
download | xmr-stak-117493dc5359572a171c7ffb9b55da6740593089.zip xmr-stak-117493dc5359572a171c7ffb9b55da6740593089.tar.gz |
Fix misc bugs (#117)
* CONF_NO_TLS fix
* gpu error fix + always return to sched after pin
Diffstat (limited to 'xmrstak/net/msgstruct.hpp')
-rw-r--r-- | xmrstak/net/msgstruct.hpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/xmrstak/net/msgstruct.hpp b/xmrstak/net/msgstruct.hpp index 01aa76c..4d8d845 100644 --- a/xmrstak/net/msgstruct.hpp +++ b/xmrstak/net/msgstruct.hpp @@ -62,7 +62,14 @@ struct sock_err sock_err& operator=(sock_err const&) = delete; }; -enum ex_event_name { EV_INVALID_VAL, EV_SOCK_READY, EV_SOCK_ERROR, +// Unlike socket errors, GPU errors are read-only strings +struct gpu_res_err +{ + const char* error_str; + gpu_res_err(const char* error_str) : error_str(error_str) {} +}; + +enum ex_event_name { EV_INVALID_VAL, EV_SOCK_READY, EV_SOCK_ERROR, EV_GPU_RES_ERROR, EV_POOL_HAVE_JOB, EV_MINER_HAVE_RESULT, EV_PERF_TICK, EV_EVAL_POOL_CHOICE, EV_USR_HASHRATE, EV_USR_RESULTS, EV_USR_CONNSTAT, EV_HASHRATE_LOOP, EV_HTML_HASHRATE, EV_HTML_RESULTS, EV_HTML_CONNSTAT, EV_HTML_JSON }; @@ -87,9 +94,11 @@ struct ex_event pool_job oPoolJob; job_result oJobResult; sock_err oSocketError; + gpu_res_err oGpuError; }; ex_event() { iName = EV_INVALID_VAL; iPoolId = 0;} + ex_event(const char* gpu_err, size_t id) : iName(EV_GPU_RES_ERROR), iPoolId(id), oGpuError(gpu_err) {} ex_event(std::string&& err, bool silent, size_t id) : iName(EV_SOCK_ERROR), iPoolId(id), oSocketError(std::move(err), silent) { } ex_event(job_result dat, size_t id) : iName(EV_MINER_HAVE_RESULT), iPoolId(id), oJobResult(dat) {} ex_event(pool_job dat, size_t id) : iName(EV_POOL_HAVE_JOB), iPoolId(id), oPoolJob(dat) {} |