Christian Weisgerber(na...@mips.inka.de) on 2019.06.03 14:39:14 -0000:
> On 2019-06-02, Hiltjo Posthuma <hil...@codemadness.org> wrote:
> 
> > I noticed when using openrsync with a remote and a ssh_prog set (-e option) 
> > the
> > socket is closed twice also.
> 
> Yes, we need to decide whether rsync_socket() should close the
> socket itself or not.  Since rsync_socket() doesn't open the socket,
> I guess it shouldn't close it either.  Matches rsync_client().
> 
> ok?

ok


> 
> Index: main.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/rsync/main.c,v
> retrieving revision 1.46
> diff -u -p -r1.46 main.c
> --- main.c    28 May 2019 18:20:30 -0000      1.46
> +++ main.c    3 Jun 2019 14:30:06 -0000
> @@ -428,8 +428,10 @@ main(int argc, char *argv[])
>  
>       if (fargs->remote && opts.ssh_prog == NULL) {
>               assert(fargs->mode == FARGS_RECEIVER);
> -             if ((rc = rsync_connect(&opts, &sd, fargs)) == 0)
> +             if ((rc = rsync_connect(&opts, &sd, fargs)) == 0) {
>                       rc = rsync_socket(&opts, sd, fargs);
> +                     close(sd);
> +             }
>               exit(rc);
>       }
>  
> @@ -484,14 +486,7 @@ main(int argc, char *argv[])
>               break;
>       }
>  
> -     /*
> -      * If the client has an error and exits, the server may be
> -      * sitting around waiting to get data while we waitpid().
> -      * So close the connection here so that they don't hang.
> -      */
> -
> -     if (rc)
> -             close(fds[0]);
> +     close(fds[0]);
>  
>       if (waitpid(child, &st, 0) == -1)
>               err(1, "waitpid");
> Index: socket.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/rsync/socket.c,v
> retrieving revision 1.24
> diff -u -p -r1.24 socket.c
> --- socket.c  8 May 2019 21:30:11 -0000       1.24
> +++ socket.c  3 Jun 2019 14:26:44 -0000
> @@ -455,6 +455,5 @@ rsync_socket(const struct opts *opts, in
>       rc = 0;
>  out:
>       free(args);
> -     close(sd);
>       return rc;
>  }
> -- 
> Christian "naddy" Weisgerber                          na...@mips.inka.de
> 

Reply via email to