X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/75e0e026a196fa852a855d5148f29be29ac2d92f..261dc43e32f6039781ca92535e56f5caaa68b809:/src/src/ip.c diff --git a/src/src/ip.c b/src/src/ip.c index 0e4eab650..47def4154 100644 --- 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.8 2009/11/16 19:50:37 nm4 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2006 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* 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 -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 @@ -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. */ -(void)close(sock); errno = (save_errno == EINTR && sigalrm_seen)? ETIMEDOUT : save_errno; return -1; }