X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=net.c;h=dfbbc1ee6b6135d74eb72fda7857f21843cdda81;hp=a95f145a78ac111416201aebe4b1f628e2a73544;hb=88bdd8c140222998d4ec31812cbf8ef108baa910;hpb=39e1307682cb23c0007280a8a823d3017808f207 diff --git a/net.c b/net.c index a95f145a..dfbbc1ee 100644 --- a/net.c +++ b/net.c @@ -441,21 +441,21 @@ static int makesock_addrinfo(unsigned l4type, bool passive, struct addrinfo *ai, goto get_next_dst; sockfd = ret; flowopt_setopts(sockfd, fo); - /* - * Reuse the address on passive sockets to avoid failure on - * restart (protocols using listen()) and when creating - * multiple listener instances (UDP multicast). - */ - if (passive && setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, - &on, sizeof(on)) == -1) { - ret = -ERRNO_TO_PARA_ERROR(errno); - close(sockfd); - PARA_ERROR_LOG("can not set SO_REUSEADDR: %s\n", - para_strerror(-ret)); - break; - } - if (passive) { + /* + * Reuse the address on passive sockets to avoid + * failure on restart (protocols using listen()) and + * when creating multiple listener instances (UDP + * multicast). + */ + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, + sizeof(on)) == -1) { + ret = -ERRNO_TO_PARA_ERROR(errno); + close(sockfd); + PARA_ERROR_LOG("can not set SO_REUSEADDR: %s\n", + para_strerror(-ret)); + break; + } if (bind(sockfd, src->ai_addr, src->ai_addrlen) < 0) { close(sockfd); goto get_next_src;