X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/986aaaaa4b8dad49b8574905fec4048c4f53f167..7162c65df75c2cf20423e74776c9f6037518b6b0:/clientserver.c diff --git a/clientserver.c b/clientserver.c index ceb53d1e..ec74054f 100644 --- a/clientserver.c +++ b/clientserver.c @@ -43,6 +43,7 @@ extern int filesfrom_fd; extern int remote_protocol; extern int protocol_version; extern int io_timeout; +extern int select_timeout; extern int orig_umask; extern int no_detach; extern int default_af_hint; @@ -88,6 +89,9 @@ int start_socket_client(char *host, char *path, int argc, char *argv[]) *p = '\0'; } + if (rsync_port == 0) + rsync_port = RSYNC_PORT; + fd = open_socket_out_wrapped(host, rsync_port, bind_address, default_af_hint); if (fd == -1) @@ -473,8 +477,11 @@ static int rsync_module(int f_in, int f_out, int i) exit_cleanup(RERR_UNSUPPORTED); } - if (lp_timeout(i)) + if (lp_timeout(i)) { io_timeout = lp_timeout(i); + if (io_timeout < select_timeout) + select_timeout = io_timeout; + } start_server(f_in, f_out, argc, argp); @@ -600,7 +607,7 @@ int daemon_main(void) if (rsync_port == 0 && (rsync_port = lp_rsync_port()) == 0) rsync_port = RSYNC_PORT; - if (bind_address == NULL) + if (bind_address == NULL && *lp_bind_address()) bind_address = lp_bind_address(); log_init();