Browse Source

Parse any extra data already in the cs buffer in proxy_recv before returning to the epoll loop

master
ckolivas 10 years ago
parent
commit
3fd9ead54a
  1. 34
      src/generator.c

34
src/generator.c

@ -1966,25 +1966,25 @@ static void *proxy_recv(void *arg)
disable_subproxy(gdata, proxi, subproxy); disable_subproxy(gdata, proxi, subproxy);
continue; continue;
} }
if (parse_method(ckp, subproxy, cs->buf)) { do {
if (subproxy->reconnect) { if (parse_method(ckp, subproxy, cs->buf)) {
/* Call this proxy dead to allow us to fail if (subproxy->reconnect) {
* over to a backup pool until the reconnect /* Call this proxy dead to allow us to fail
* pool is up */ * over to a backup pool until the reconnect
disable_subproxy(gdata, proxi, subproxy); * pool is up */
if (parent_proxy(subproxy)) { disable_subproxy(gdata, proxi, subproxy);
LOGWARNING("Proxy %d:%s reconnect issue, dropping existing connection", if (parent_proxy(subproxy)) {
subproxy->low_id, subproxy->si->url); LOGWARNING("Proxy %d:%s reconnect issue, dropping existing connection",
break; subproxy->low_id, subproxy->si->url);
break;
}
} }
continue;
} }
continue; /* If it's not a method it should be a share result */
} if (!parse_share(subproxy, cs->buf))
if (parse_share(subproxy, cs->buf)) { LOGWARNING("Unhandled stratum message: %s", cs->buf);
continue; } while (read_socket_line(cs, 0) > 0);
}
/* If it's not a method it should be a share result */
LOGWARNING("Unhandled stratum message: %s", cs->buf);
} }
return NULL; return NULL;

Loading…
Cancel
Save