diff --git a/src/stratifier.c b/src/stratifier.c index b650d964..c3e07a68 100644 --- a/src/stratifier.c +++ b/src/stratifier.c @@ -1913,7 +1913,8 @@ static json_t *parse_submit(stratum_instance_t *client, json_t *json_msg, json_set_string(json_msg, "reject-reason", SHARE_ERR(err)); strcpy(idstring, job_id); ASPRINTF(&fname, "%s.sharelog", current_workbase->logdir); - goto out_unlock; + ck_runlock(&workbase_lock); + goto out; } share = true; wdiff = wb->diff; @@ -1949,9 +1950,6 @@ static json_t *parse_submit(stratum_instance_t *client, json_t *json_msg, out_unlock: ck_runlock(&workbase_lock); - if (unlikely(!share)) - goto out; - if (submit) submit_share(client, id, nonce2, ntime, nonce, json_integer_value(json_object_get(json_msg, "id")));