From fb0e47507cac98e1423b96081478ee4db09b48ac Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 21 Jul 2010 00:15:34 +0100 Subject: [PATCH] net_connect_ip*(): Fixed FreeBSD kludging. --- src/lib/network.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/lib/network.c b/src/lib/network.c index abaa8c9bfc..33fc433427 100644 --- a/src/lib/network.c +++ b/src/lib/network.c @@ -135,16 +135,17 @@ static inline unsigned int sin_get_port(union sockaddr_union *so) } #ifdef __FreeBSD__ -static int net_connect_ip_freebsd(const struct ip_addr *ip, unsigned int port, - const struct ip_addr *my_ip); +static int +net_connect_ip_full_freebsd(const struct ip_addr *ip, unsigned int port, + const struct ip_addr *my_ip, bool blocking); -int net_connect_ip(const struct ip_addr *ip, unsigned int port, - const struct ip_addr *my_ip) +static int net_connect_ip_full(const struct ip_addr *ip, unsigned int port, + const struct ip_addr *my_ip, bool blocking) { int fd, try; for (try = 0;;) { - fd = net_connect_ip_freebsd(ip, port, my_ip); + fd = net_connect_ip_full_freebsd(ip, port, my_ip, blocking); if (fd != -1 || ++try == 5 || (errno != EADDRINUSE && errno != EACCES)) break; @@ -159,8 +160,7 @@ int net_connect_ip(const struct ip_addr *ip, unsigned int port, return fd; } /* then some kludging: */ -#define net_connect_ip net_connect_ip_freebsd -static +#define net_connect_ip_full net_connect_ip_full_freebsd #endif static int net_connect_ip_full(const struct ip_addr *ip, unsigned int port, @@ -217,6 +217,9 @@ static int net_connect_ip_full(const struct ip_addr *ip, unsigned int port, return fd; } +#ifdef __FreeBSD__ +# undef net_connect_ip_full +#endif int net_connect_ip(const struct ip_addr *ip, unsigned int port, const struct ip_addr *my_ip) -- 2.47.3