diff options
author | Wayne Davison <wayned@samba.org> | 2008-04-15 08:34:17 -0700 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2008-04-15 08:34:17 -0700 |
commit | 1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c (patch) | |
tree | 84ee2cdda5b84046e3fb853cdc44e984e4a0346f | |
parent | f2681d42ff564ec2d000383ee5c5f43cc3f283d8 (diff) | |
download | rsync-1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c.tar.gz rsync-1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c.tar.bz2 rsync-1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c.zip |
Moved the setting of the socket options before the connect().
-rw-r--r-- | clientserver.c | 6 | ||||
-rw-r--r-- | socket.c | 6 |
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); } @@ -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) { |