Browse Source

Do not accept proxy notify update until subscription complete

master
Con Kolivas 10 years ago
parent
commit
08f7f39836
  1. 8
      src/stratifier.c

8
src/stratifier.c

@ -155,6 +155,8 @@ static struct {
int nonce2len; int nonce2len;
int enonce2varlen; int enonce2varlen;
bool subscribed;
} proxy_base; } proxy_base;
static int64_t workbase_id; static int64_t workbase_id;
@ -760,6 +762,7 @@ static bool update_subscribe(ckpool_t *ckp)
free(buf); free(buf);
ck_wlock(&workbase_lock); ck_wlock(&workbase_lock);
proxy_base.subscribed = true;
proxy_base.diff = ckp->startdiff; proxy_base.diff = ckp->startdiff;
/* Length is checked by generator */ /* Length is checked by generator */
strcpy(proxy_base.enonce1, json_string_value(json_object_get(val, "enonce1"))); strcpy(proxy_base.enonce1, json_string_value(json_object_get(val, "enonce1")));
@ -794,6 +797,11 @@ static void update_notify(ckpool_t *ckp)
return; return;
} }
if (unlikely(!proxy_base.subscribed)) {
LOGINFO("No valid proxy subscription to update notify yet");
return;
}
LOGDEBUG("Update notify: %s", buf); LOGDEBUG("Update notify: %s", buf);
wb = ckzalloc(sizeof(workbase_t)); wb = ckzalloc(sizeof(workbase_t));
val = json_loads(buf, 0, NULL); val = json_loads(buf, 0, NULL);

Loading…
Cancel
Save