Browse Source

Differentiate socket closed from socket error in recv_line.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
2f89eef4b1
  1. 9
      util.c

9
util.c

@ -1038,11 +1038,16 @@ char *recv_line(struct pool *pool) @@ -1038,11 +1038,16 @@ char *recv_line(struct pool *pool)
mutex_lock(&pool->stratum_lock);
do {
char s[RBUFSIZE];
size_t slen, n;
size_t slen;
ssize_t n;
memset(s, 0, RBUFSIZE);
n = recv(pool->sock, s, RECVSIZE, 0);
if (n < 1 && errno != EAGAIN && errno != EWOULDBLOCK) {
if (!n) {
applog(LOG_DEBUG, "Socket closed waiting in recv_line");
break;
}
if (n < 0 && errno != EAGAIN && errno != EWOULDBLOCK) {
applog(LOG_DEBUG, "Failed to recv sock in recv_line");
break;
}

Loading…
Cancel
Save