summaryrefslogtreecommitdiffstats
path: root/xmrstak/net/msgstruct.hpp
diff options
context:
space:
mode:
authorfireice-uk <fireice-uk@users.noreply.github.com>2017-11-15 15:34:21 +0000
committerpsychocrypt <psychocrypt@users.noreply.github.com>2017-11-15 16:34:21 +0100
commit117493dc5359572a171c7ffb9b55da6740593089 (patch)
treeeae5efff99a00138043680408edacd2397c1e86d /xmrstak/net/msgstruct.hpp
parent288363814fb091ccfc452f0408bfa53727fc30c0 (diff)
downloadxmr-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.hpp11
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) {}
OpenPOWER on IntegriCloud