[CLEANUP] stream_sock: MSG_NOSIGNAL is only for send(), not recv()
We must not set this flag on recv(), it's not used, it's just for
send().
diff --git a/src/checks.c b/src/checks.c
index 7900961..ed5ca84 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -791,7 +791,7 @@
* 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 5caac46..d84cd1a 100644
--- a/src/stream_sock.c
+++ b/src/stream_sock.c
@@ -321,18 +321,7 @@
/*
* 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;