When running as --daemon in the background and using a "log file" rsyncd.conf
[rsync/rsync.git] / clientserver.c
index df847ff..0164d07 100644 (file)
@@ -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;
@@ -201,7 +206,7 @@ static int rsync_module(int fd, int i)
        p = lp_exclude(i);
        add_exclude_line(p);
 
-       log_open();
+       log_init();
 
        if (use_chroot) {
                if (chroot(lp_path(i))) {
@@ -363,7 +368,7 @@ static int start_daemon(int fd)
 
        set_socket_options(fd,"SO_KEEPALIVE");
        set_socket_options(fd,lp_socket_options());
-       
+       set_nonblocking(fd);
 
        io_printf(fd,"@RSYNCD: %d\n", PROTOCOL_VERSION);
 
@@ -444,7 +449,7 @@ int daemon_main(void)
                exit_cleanup(RERR_SYNTAX);
        }
 
-       log_open();
+       log_init();
 
        rprintf(FINFO,"rsyncd version %s starting\n",VERSION);