Browse Source

Check for EWOULDBLOCK when supported in send and recv as well.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
cada0d3195
  1. 4
      miner.h
  2. 4
      util.c

4
miner.h

@ -60,6 +60,10 @@ static inline int fsync (int fd) @@ -60,6 +60,10 @@ static inline int fsync (int fd)
return (FlushFileBuffers ((HANDLE) _get_osfhandle (fd))) ? 0 : -1;
}
#ifndef EWOULDBLOCK
# define EWOULDBLOCK EAGAIN
#endif
#ifndef MSG_DONTWAIT
# define MSG_DONTWAIT 0x1000000
#endif

4
util.c

@ -900,7 +900,7 @@ static bool __stratum_send(struct pool *pool, char *s, ssize_t len) @@ -900,7 +900,7 @@ static bool __stratum_send(struct pool *pool, char *s, ssize_t len)
}
sent = send(pool->sock, s + ssent, len, 0);
if (sent < 0) {
if (errno != EAGAIN) {
if (errno != EAGAIN && errno != EWOULDBLOCK) {
applog(LOG_DEBUG, "Failed to curl_easy_send in stratum_send");
return false;
}
@ -985,7 +985,7 @@ char *recv_line(struct pool *pool) @@ -985,7 +985,7 @@ char *recv_line(struct pool *pool)
n = recv(pool->sock, s, RECVSIZE, 0);
mutex_unlock(&pool->stratum_lock);
if (n < 1 && errno != EAGAIN) {
if (n < 1 && errno != EAGAIN && errno != EWOULDBLOCK) {
applog(LOG_DEBUG, "Failed to recv sock in recv_line");
goto out;
}

Loading…
Cancel
Save