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