From 75be45f1e4b0518aa34cadfc73f30098b81e6c33 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 7 Apr 2013 19:14:57 +0200 Subject: [PATCH] Ignore error setting socket option SO_REUSEADDR Shouldn't fail. If it fails, but bind() works, the failure doesn't matter. If bind() fails, we can just as well report that failure instead of setsockopt()'s. --- src/lib/gen/tcp_listen.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/gen/tcp_listen.c b/src/lib/gen/tcp_listen.c index 6dd0a5e4..41df7ac0 100644 --- a/src/lib/gen/tcp_listen.c +++ b/src/lib/gen/tcp_listen.c @@ -81,8 +81,7 @@ tcp_listen(char *host, char *serv, size_t *addrlenp) if (fd < 0) continue; /* error, try next one */ - if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) - cant_listen(host, serv, strerror(errno)); + setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); if (bind(fd, ai->ai_addr, ai->ai_addrlen) == 0) break; /* success */ @@ -127,8 +126,7 @@ tcp_listen(char *host, char *serv, size_t *addrlenp) } if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) cant_listen(host, serv, strerror(errno)); - if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) - cant_listen(host, serv, strerror(errno)); + setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); if (bind(fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) cant_listen(host, serv, strerror(errno)); if (listen(fd, SOMAXCONN) < 0)