Browse Source

Revert "Don't wait on select when first detecting stratum, just receive one line."

This reverts commit 496af92afd.

Not quite right.
nfactor-troky
Con Kolivas 12 years ago
parent
commit
d851bf3d65
  1. 15
      util.c

15
util.c

@ -897,14 +897,18 @@ static void clear_sock(SOCKETTYPE sock) @@ -897,14 +897,18 @@ static void clear_sock(SOCKETTYPE sock)
}
/* Check to see if Santa's been good to you */
static bool sock_full(SOCKETTYPE sock)
static bool sock_full(SOCKETTYPE sock, bool wait)
{
struct timeval timeout;
fd_set rd;
FD_ZERO(&rd);
FD_SET(sock, &rd);
timeout.tv_usec = timeout.tv_sec = 0;
timeout.tv_usec = 0;
if (wait)
timeout.tv_sec = 60;
else
timeout.tv_sec = 0;
if (select(sock + 1, &rd, NULL, NULL, &timeout) > 0)
return true;
return false;
@ -1137,7 +1141,7 @@ bool auth_stratum(struct pool *pool) @@ -1137,7 +1141,7 @@ bool auth_stratum(struct pool *pool)
swork_id++, pool->rpc_user, pool->rpc_pass);
/* Parse all data prior sending auth request */
while (sock_full(pool->sock)) {
while (sock_full(pool->sock, false)) {
sret = recv_line(pool->sock);
if (!parse_method(pool, sret)) {
clear_sock(pool->sock);
@ -1208,6 +1212,11 @@ bool initiate_stratum(struct pool *pool) @@ -1208,6 +1212,11 @@ bool initiate_stratum(struct pool *pool)
goto out;
}
if (!sock_full(pool->sock, true)) {
applog(LOG_DEBUG, "Timed out waiting for response in initiate_stratum");
goto out;
}
sret = recv_line(pool->sock);
if (!sret)
goto out;

Loading…
Cancel
Save