X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..6a420d96a080e04da6c441f88cc52e60fe661089:/sbr/client.c diff --git a/sbr/client.c b/sbr/client.c index 1a7cb7fd..2bed9052 100644 --- a/sbr/client.c +++ b/sbr/client.c @@ -5,9 +5,11 @@ * complete copyright information. */ -#include -#include -#include +#include "h/mh.h" +#include "client.h" +#include "h/mts.h" +#include "h/utils.h" +#include #include #include #include @@ -28,7 +30,7 @@ client (char *server, char *service, char *response, int len_response, return NOTOK; } - memset(&hints, 0, sizeof(hints)); + ZERO(&hints); #ifdef AI_ADDRCONFIG hints.ai_flags = AI_ADDRCONFIG; #endif @@ -70,7 +72,15 @@ client (char *server, char *service, char *response, int len_response, } if (connect(sd, ai->ai_addr, ai->ai_addrlen) == 0) { + int flags; + freeaddrinfo(res); + + flags = fcntl(sd, F_GETFD, 0); + + if (flags != -1) + fcntl(sd, F_SETFD, flags | FD_CLOEXEC); + return sd; }