summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-04-15 08:34:17 -0700
committerWayne Davison <wayned@samba.org>2008-04-15 08:34:17 -0700
commit1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c (patch)
tree84ee2cdda5b84046e3fb853cdc44e984e4a0346f
parentf2681d42ff564ec2d000383ee5c5f43cc3f283d8 (diff)
downloadrsync-1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c.tar.gz
rsync-1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c.tar.bz2
rsync-1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c.zip
Moved the setting of the socket options before the connect().
-rw-r--r--clientserver.c6
-rw-r--r--socket.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/clientserver.c b/clientserver.c
index 52913567..f78c61c3 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -121,8 +121,6 @@ int start_socket_client(char *host, int remote_argc, char *remote_argv[],
if (fd == -1)
exit_cleanup(RERR_SOCKETIO);
- set_socket_options(fd, sockopts);
-
#ifdef ICONV_CONST
setup_iconv();
#endif
@@ -931,10 +929,6 @@ int start_daemon(int f_in, int f_out)
if (!am_server) {
set_socket_options(f_in, "SO_KEEPALIVE");
- if (sockopts)
- set_socket_options(f_in, sockopts);
- else
- set_socket_options(f_in, lp_socket_options());
set_nonblocking(f_in);
}
diff --git a/socket.c b/socket.c
index 65ee61aa..8d4a89db 100644
--- a/socket.c
+++ b/socket.c
@@ -31,6 +31,7 @@
#include <netinet/tcp.h>
extern char *bind_address;
+extern char *sockopts;
extern int default_af_hint;
extern int connect_timeout;
@@ -272,6 +273,7 @@ int open_socket_out(char *host, int port, const char *bind_addr,
alarm(connect_timeout);
}
+ set_socket_options(s, sockopts);
while (connect(s, res->ai_addr, res->ai_addrlen) < 0) {
if (connect_timeout < 0)
exit_cleanup(RERR_CONTIMEOUT);
@@ -433,6 +435,10 @@ static int *open_socket_in(int type, int port, const char *bind_addr,
setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
(char *)&one, sizeof one);
+ if (sockopts)
+ set_socket_options(s, sockopts);
+ else
+ set_socket_options(s, lp_socket_options());
#ifdef IPV6_V6ONLY
if (resp->ai_family == AF_INET6) {