diff --git a/src/checks.c b/src/checks.c index 79009612e..ed5ca8406 100644 --- a/src/checks.c +++ b/src/checks.c @@ -791,7 +791,7 @@ static int event_srv_chk_r(int fd) * but the connection was closed on the remote end. Fortunately, recv still * works correctly and we don't need to do the getsockopt() on linux. */ - len = recv(fd, trash, sizeof(trash), MSG_NOSIGNAL); + len = recv(fd, trash, sizeof(trash), 0); if (unlikely(len < 0 && errno == EAGAIN)) { /* we want some polling to happen first */ fdtab[fd].ev &= ~FD_POLL_IN; diff --git a/src/stream_sock.c b/src/stream_sock.c index 5caac469e..d84cd1a29 100644 --- a/src/stream_sock.c +++ b/src/stream_sock.c @@ -321,18 +321,7 @@ int stream_sock_read(int fd) { /* * 2. read the largest possible block */ - if (MSG_NOSIGNAL) { - ret = recv(fd, b->r, max, MSG_NOSIGNAL); - } else { - int skerr; - socklen_t lskerr = sizeof(skerr); - - ret = getsockopt(fd, SOL_SOCKET, SO_ERROR, &skerr, &lskerr); - if (ret == -1 || skerr) - ret = -1; - else - ret = recv(fd, b->r, max, 0); - } + ret = recv(fd, b->r, max, 0); if (ret > 0) { b->r += ret;