X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=net.c;h=28d11d664c937404e034d65760c00e5fa8cc1a3a;hp=94610a84e2a3aa6b42ad9d5c11dbc03bc69cb306;hb=c9a917fe5862bb042e36de84685b5c0fafa7f0eb;hpb=8d47a8cea663cc9c1c01cdba23b0531caa5c8d9c diff --git a/net.c b/net.c index 94610a84..28d11d66 100644 --- a/net.c +++ b/net.c @@ -443,23 +443,20 @@ static int makesock_addrinfo(unsigned l4type, bool passive, struct addrinfo *ai, close(sockfd); PARA_ERROR_LOG("can not set SO_REUSEADDR: %s\n", para_strerror(-ret)); - break; + return ret; } if (bind(sockfd, ai->ai_addr, ai->ai_addrlen) < 0) { close(sockfd); continue; } - /* bind completed successfully */ - break; + return sockfd; } else { if (connect(sockfd, ai->ai_addr, ai->ai_addrlen) == 0) - break; /* connection completed successfully */ + return sockfd; + close(sockfd); } - close(sockfd); } - if (!ai) - return ret < 0? ret : -E_MAKESOCK; - return sockfd; + return -E_MAKESOCK; } /**