Browse Source

There should be no error response code with return value 0 in recv_line.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
181cb1635f
  1. 22
      util.c

22
util.c

@ -1104,19 +1104,17 @@ char *recv_line(struct pool *pool)
memset(s, 0, RBUFSIZE); memset(s, 0, RBUFSIZE);
n = recv(pool->sock, s, RECVSIZE, 0); n = recv(pool->sock, s, RECVSIZE, 0);
if (n < 1) { if (!n) {
if (errno != EAGAIN && errno != EWOULDBLOCK) { ret = RECV_CLOSED;
if (n == 0) break;
ret = RECV_CLOSED; }
else if (n < 0 && errno != EAGAIN && errno != EWOULDBLOCK) {
ret = RECV_RECVFAIL; ret = RECV_RECVFAIL;
break; break;
}
} else {
slen = strlen(s);
recalloc_sock(pool, slen);
strcat(pool->sockbuf, s);
} }
slen = strlen(s);
recalloc_sock(pool, slen);
strcat(pool->sockbuf, s);
cgtime(&now); cgtime(&now);
} while (tdiff(&now, &rstart) < 60 && !strstr(pool->sockbuf, "\n")); } while (tdiff(&now, &rstart) < 60 && !strstr(pool->sockbuf, "\n"));
mutex_unlock(&pool->stratum_lock); mutex_unlock(&pool->stratum_lock);

Loading…
Cancel
Save