|
|
@@ -1749,7 +1749,7 @@ static void reject_pool(struct pool *pool)
|
|
|
pool->enabled = POOL_REJECTING;
|
|
|
}
|
|
|
|
|
|
-static bool submit_upstream_work(const struct work *work, CURL *curl)
|
|
|
+static bool submit_upstream_work(const struct work *work, CURL *curl, bool resubmit)
|
|
|
{
|
|
|
char *hexstr = NULL;
|
|
|
json_t *val, *res;
|
|
|
@@ -1824,11 +1824,11 @@ static bool submit_upstream_work(const struct work *work, CURL *curl)
|
|
|
applog(LOG_DEBUG, "PROOF OF WORK RESULT: true (yay!!!)");
|
|
|
if (!QUIET) {
|
|
|
if (total_pools > 1)
|
|
|
- applog(LOG_NOTICE, "Accepted %s %s %d pool %d",
|
|
|
- hashshow, cgpu->api->name, cgpu->device_id, work->pool->pool_no);
|
|
|
+ applog(LOG_NOTICE, "Accepted %s %s %d pool %d %s",
|
|
|
+ hashshow, cgpu->api->name, cgpu->device_id, work->pool->pool_no, resubmit ? "(resubmit)" : "");
|
|
|
else
|
|
|
- applog(LOG_NOTICE, "Accepted %s %s %d",
|
|
|
- hashshow, cgpu->api->name, cgpu->device_id);
|
|
|
+ applog(LOG_NOTICE, "Accepted %s %s %d %s",
|
|
|
+ hashshow, cgpu->api->name, cgpu->device_id, resubmit ? "(resubmit)" : "");
|
|
|
}
|
|
|
sharelog("accept", work);
|
|
|
if (opt_shares && total_accepted >= opt_shares) {
|
|
|
@@ -1877,8 +1877,8 @@ static bool submit_upstream_work(const struct work *work, CURL *curl)
|
|
|
} else
|
|
|
strcpy(reason, "");
|
|
|
|
|
|
- applog(LOG_NOTICE, "Rejected %s %s %d %s%s",
|
|
|
- hashshow, cgpu->api->name, cgpu->device_id, where, reason);
|
|
|
+ applog(LOG_NOTICE, "Rejected %s %s %d %s%s %s",
|
|
|
+ hashshow, cgpu->api->name, cgpu->device_id, where, reason, resubmit ? "(resubmit)" : "");
|
|
|
sharelog(disposition, work);
|
|
|
}
|
|
|
|
|
|
@@ -2456,6 +2456,7 @@ static void *submit_work_thread(void *userdata)
|
|
|
struct workio_cmd *wc = (struct workio_cmd *)userdata;
|
|
|
struct work *work = wc->work;
|
|
|
struct pool *pool = work->pool;
|
|
|
+ bool resubmit = false;
|
|
|
struct curl_ent *ce;
|
|
|
int failures = 0;
|
|
|
|
|
|
@@ -2482,7 +2483,8 @@ static void *submit_work_thread(void *userdata)
|
|
|
|
|
|
ce = pop_curl_entry(pool);
|
|
|
/* submit solution to bitcoin via JSON-RPC */
|
|
|
- while (!submit_upstream_work(work, ce->curl)) {
|
|
|
+ while (!submit_upstream_work(work, ce->curl, resubmit)) {
|
|
|
+ resubmit = true;
|
|
|
if (stale_work(work, true)) {
|
|
|
applog(LOG_NOTICE, "Share became stale while retrying submit, discarding");
|
|
|
total_stale++;
|