|
|
@ -69,9 +69,7 @@ enum workio_commands { |
|
|
|
struct workio_cmd { |
|
|
|
struct workio_cmd { |
|
|
|
enum workio_commands cmd; |
|
|
|
enum workio_commands cmd; |
|
|
|
struct thr_info *thr; |
|
|
|
struct thr_info *thr; |
|
|
|
union { |
|
|
|
struct work *work; |
|
|
|
struct work *work; |
|
|
|
|
|
|
|
} u; |
|
|
|
|
|
|
|
bool lagging; |
|
|
|
bool lagging; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@ -1906,7 +1904,7 @@ static void workio_cmd_free(struct workio_cmd *wc) |
|
|
|
|
|
|
|
|
|
|
|
switch (wc->cmd) { |
|
|
|
switch (wc->cmd) { |
|
|
|
case WC_SUBMIT_WORK: |
|
|
|
case WC_SUBMIT_WORK: |
|
|
|
free_work(wc->u.work); |
|
|
|
free_work(wc->work); |
|
|
|
break; |
|
|
|
break; |
|
|
|
default: /* do nothing */ |
|
|
|
default: /* do nothing */ |
|
|
|
break; |
|
|
|
break; |
|
|
@ -2217,7 +2215,7 @@ static void check_solve(struct work *work) |
|
|
|
static void *submit_work_thread(void *userdata) |
|
|
|
static void *submit_work_thread(void *userdata) |
|
|
|
{ |
|
|
|
{ |
|
|
|
struct workio_cmd *wc = (struct workio_cmd *)userdata; |
|
|
|
struct workio_cmd *wc = (struct workio_cmd *)userdata; |
|
|
|
struct work *work = wc->u.work; |
|
|
|
struct work *work = wc->work; |
|
|
|
struct pool *pool = work->pool; |
|
|
|
struct pool *pool = work->pool; |
|
|
|
struct curl_ent *ce; |
|
|
|
struct curl_ent *ce; |
|
|
|
int failures = 0; |
|
|
|
int failures = 0; |
|
|
@ -3849,11 +3847,11 @@ bool submit_work_sync(struct thr_info *thr, const struct work *work_in) |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
wc->u.work = make_work(); |
|
|
|
wc->work = make_work(); |
|
|
|
wc->cmd = WC_SUBMIT_WORK; |
|
|
|
wc->cmd = WC_SUBMIT_WORK; |
|
|
|
wc->thr = thr; |
|
|
|
wc->thr = thr; |
|
|
|
memcpy(wc->u.work, work_in, sizeof(*work_in)); |
|
|
|
memcpy(wc->work, work_in, sizeof(*work_in)); |
|
|
|
wc->u.work->share_found_time = time(NULL); |
|
|
|
wc->work->share_found_time = time(NULL); |
|
|
|
|
|
|
|
|
|
|
|
applog(LOG_DEBUG, "Pushing submit work to work thread"); |
|
|
|
applog(LOG_DEBUG, "Pushing submit work to work thread"); |
|
|
|
|
|
|
|
|
|
|
|