git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix manualroute bug for localhost following multihomed host.
[exim.git]
/
src
/
src
/
ip.c
diff --git
a/src/src/ip.c
b/src/src/ip.c
index 0e4eab6503b4ad3f6ab9076597f562020f96d817..af57fa411ca5d825bd3f0654e91b272cb6eca4b3 100644
(file)
--- a/
src/src/ip.c
+++ b/
src/src/ip.c
@@
-1,10
+1,10
@@
-/* $Cambridge: exim/src/src/ip.c,v 1.
5 2006/02/16 10:05:33
ph10 Exp $ */
+/* $Cambridge: exim/src/src/ip.c,v 1.
7 2007/01/08 10:50:18
ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 200
6
*/
+/* Copyright (c) University of Cambridge 1995 - 200
7
*/
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for doing things with sockets. With the advent of IPv6 this has
/* See the file NOTICE for conditions of use and distribution. */
/* Functions for doing things with sockets. With the advent of IPv6 this has
@@
-165,7
+165,9
@@
return bind(sock, (struct sockaddr *)&sin, s_len);
*************************************************/
/* This function connects a socket to a remote address and port. The socket may
*************************************************/
/* This function connects a socket to a remote address and port. The socket may
-or may not have previously been bound to a local interface.
+or may not have previously been bound to a local interface. The socket is not
+closed, even in cases of error. It is expected that the calling function, which
+created the socket, will be the one that closes it.
Arguments:
sock the socket
Arguments:
sock the socket
@@
-243,7
+245,6
@@
if (rc >= 0) return 0;
/* A failure whose error code is "Interrupted system call" is in fact
an externally applied timeout if the signal handler has been run. */
/* A failure whose error code is "Interrupted system call" is in fact
an externally applied timeout if the signal handler has been run. */
-(void)close(sock);
errno = (save_errno == EINTR && sigalrm_seen)? ETIMEDOUT : save_errno;
return -1;
}
errno = (save_errno == EINTR && sigalrm_seen)? ETIMEDOUT : save_errno;
return -1;
}