1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-11 07:17:58 +00:00

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

This commit is contained in:
Con Kolivas 2013-04-24 21:26:44 +10:00
parent b615502b2b
commit 181cb1635f

22
util.c
View File

@ -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
ret = RECV_RECVFAIL;
break;
}
} else {
slen = strlen(s);
recalloc_sock(pool, slen);
strcat(pool->sockbuf, s);
} }
if (n < 0 && errno != EAGAIN && errno != EWOULDBLOCK) {
ret = RECV_RECVFAIL;
break;
}
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);