From 27e3e9c9063c49e5d35a2b682fc88c0be2a523d1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 29 Aug 2000 04:46:50 +0000 Subject: [PATCH] detect list_only a bit earlier --- clientserver.c | 5 +++++ main.c | 15 +++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/clientserver.c b/clientserver.c index 7518e3e1..95461106 100644 --- a/clientserver.c +++ b/clientserver.c @@ -38,6 +38,11 @@ int start_socket_client(char *host, char *path, int argc, char *argv[]) extern int am_sender; extern struct in_addr socket_address; + if (argc == 0 && !am_sender) { + extern int list_only; + list_only = 1; + } + if (*path == '/') { rprintf(FERROR,"ERROR: The remote path must start with a module name\n"); return -1; diff --git a/main.c b/main.c index 7d04adf6..5ac407a4 100644 --- a/main.c +++ b/main.c @@ -349,9 +349,9 @@ static int do_recv(int f_in,int f_out,struct file_list *flist,char *local_name) close(recv_pipe[1]); io_flush(); /* finally we go to sleep until our parent kills us - with a USR2 signal. We sleepp for a short time as on + with a USR2 signal. We sleep for a short time as on some OSes a signal won't interrupt a sleep! */ - while (1) sleep(1); + while (1) msleep(20); } close(recv_pipe[1]); @@ -464,7 +464,6 @@ int client_run(int f_in, int f_out, int pid, int argc, char *argv[]) int status = 0, status2 = 0; char *local_name = NULL; extern int am_sender; - extern int list_only; extern int remote_version; set_nonblocking(f_in); @@ -502,7 +501,10 @@ int client_run(int f_in, int f_out, int pid, int argc, char *argv[]) exit_cleanup(status); } - if (argc == 0) list_only = 1; + if (argc == 0) { + extern int list_only; + list_only = 1; + } send_exclude_list(f_out); @@ -640,6 +642,11 @@ static int start_client(int argc, char *argv[]) usage(FERROR); exit_cleanup(RERR_SYNTAX); } + + if (argc == 0 && !am_sender) { + extern int list_only; + list_only = 1; + } pid = do_cmd(shell_cmd,shell_machine,shell_user,shell_path,&f_in,&f_out); -- 2.34.1