|
|
@ -5442,6 +5442,7 @@ static void parse_instance_msg(ckpool_t *ckp, sdata_t *sdata, smsg_t *msg, strat |
|
|
|
{ |
|
|
|
{ |
|
|
|
json_t *val = msg->json_msg, *id_val, *method, *params; |
|
|
|
json_t *val = msg->json_msg, *id_val, *method, *params; |
|
|
|
int64_t client_id = msg->client_id; |
|
|
|
int64_t client_id = msg->client_id; |
|
|
|
|
|
|
|
int delays = 0; |
|
|
|
|
|
|
|
|
|
|
|
if (client->reject == 2) { |
|
|
|
if (client->reject == 2) { |
|
|
|
LOGINFO("Dropping client %"PRId64" %s tagged for lazy invalidation", |
|
|
|
LOGINFO("Dropping client %"PRId64" %s tagged for lazy invalidation", |
|
|
@ -5480,6 +5481,14 @@ static void parse_instance_msg(ckpool_t *ckp, sdata_t *sdata, smsg_t *msg, strat |
|
|
|
send_json_err(sdata, client_id, id_val, "-1:params not found"); |
|
|
|
send_json_err(sdata, client_id, id_val, "-1:params not found"); |
|
|
|
goto out; |
|
|
|
goto out; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* At startup we block until there's a current workbase otherwise we
|
|
|
|
|
|
|
|
* will reject miners with the initialising message. A slightly delayed |
|
|
|
|
|
|
|
* response to subscribe is better tolerated. */ |
|
|
|
|
|
|
|
while (unlikely(!sdata->current_workbase)) { |
|
|
|
|
|
|
|
cksleep_ms(100); |
|
|
|
|
|
|
|
if (!(++delays % 50)) |
|
|
|
|
|
|
|
LOGWARNING("%d Second delay waiting for bitcoind at startup", delays / 10); |
|
|
|
|
|
|
|
} |
|
|
|
parse_method(ckp, sdata, client, client_id, id_val, method, params); |
|
|
|
parse_method(ckp, sdata, client, client_id, id_val, method, params); |
|
|
|
out: |
|
|
|
out: |
|
|
|
free_smsg(msg); |
|
|
|
free_smsg(msg); |
|
|
|