dovecot-2.0: net_connect_ip*(): Fixed FreeBSD kludging.

dovecot at dovecot.org dovecot at dovecot.org
Wed Jul 21 02:15:43 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/4fb7e5327efc
changeset: 11879:4fb7e5327efc
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Jul 21 00:15:34 2010 +0100
description:
net_connect_ip*(): Fixed FreeBSD kludging.

diffstat:

 src/lib/network.c |  17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diffs (46 lines):

diff -r 4ffc063a5eff -r 4fb7e5327efc src/lib/network.c
--- a/src/lib/network.c	Tue Jul 20 21:53:29 2010 +0100
+++ b/src/lib/network.c	Wed Jul 21 00:15:34 2010 +0100
@@ -135,16 +135,17 @@
 }
 
 #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 @@
 	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 @@
 
 	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)


More information about the dovecot-cvs mailing list