|
@@ -5698,12 +5698,12 @@ retry_stratum:
|
|
|
if ((!json_is_object(res)) || (proto == PLP_GETBLOCKTEMPLATE && !json_object_get(res, "bits")))
|
|
if ((!json_is_object(res)) || (proto == PLP_GETBLOCKTEMPLATE && !json_object_get(res, "bits")))
|
|
|
goto badwork;
|
|
goto badwork;
|
|
|
|
|
|
|
|
|
|
+ work->rolltime = rolltime;
|
|
|
rc = work_decode(pool, work, val);
|
|
rc = work_decode(pool, work, val);
|
|
|
if (rc) {
|
|
if (rc) {
|
|
|
applog(LOG_DEBUG, "Successfully retrieved and deciphered work from pool %u %s",
|
|
applog(LOG_DEBUG, "Successfully retrieved and deciphered work from pool %u %s",
|
|
|
pool->pool_no, pool->rpc_url);
|
|
pool->pool_no, pool->rpc_url);
|
|
|
work->pool = pool;
|
|
work->pool = pool;
|
|
|
- work->rolltime = rolltime;
|
|
|
|
|
memcpy(&(work->tv_getwork), &tv_getwork, sizeof(struct timeval));
|
|
memcpy(&(work->tv_getwork), &tv_getwork, sizeof(struct timeval));
|
|
|
memcpy(&(work->tv_getwork_reply), &tv_getwork_reply, sizeof(struct timeval));
|
|
memcpy(&(work->tv_getwork_reply), &tv_getwork_reply, sizeof(struct timeval));
|
|
|
work->getwork_mode = GETWORK_MODE_TESTPOOL;
|
|
work->getwork_mode = GETWORK_MODE_TESTPOOL;
|
|
@@ -6518,6 +6518,7 @@ static void convert_to_work(json_t *val, int rolltime, struct pool *pool, struct
|
|
|
{
|
|
{
|
|
|
bool rc;
|
|
bool rc;
|
|
|
|
|
|
|
|
|
|
+ work->rolltime = rolltime;
|
|
|
rc = work_decode(pool, work, val);
|
|
rc = work_decode(pool, work, val);
|
|
|
if (unlikely(!rc)) {
|
|
if (unlikely(!rc)) {
|
|
|
applog(LOG_ERR, "Could not convert longpoll data to work");
|
|
applog(LOG_ERR, "Could not convert longpoll data to work");
|
|
@@ -6525,7 +6526,6 @@ static void convert_to_work(json_t *val, int rolltime, struct pool *pool, struct
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
work->pool = pool;
|
|
work->pool = pool;
|
|
|
- work->rolltime = rolltime;
|
|
|
|
|
memcpy(&(work->tv_getwork), tv_lp, sizeof(struct timeval));
|
|
memcpy(&(work->tv_getwork), tv_lp, sizeof(struct timeval));
|
|
|
memcpy(&(work->tv_getwork_reply), tv_lp_reply, sizeof(struct timeval));
|
|
memcpy(&(work->tv_getwork_reply), tv_lp_reply, sizeof(struct timeval));
|
|
|
calc_diff(work, 0);
|
|
calc_diff(work, 0);
|