[Fwd: Re: rsync windows -> unix still hanging :(]

Lapo Luchini lapo at lapo.it
Fri Jan 3 10:15:43 EST 2003


Author of the message didn't include rsync at lists.samba.org in the reply,
and I think this message is in topic.

-------- Original Message --------
Subject: 	Re: rsync windows -> unix still hanging :(
Date: 	Mon, 30 Dec 2002 17:24:47 -0800
From: 	Jim Kleckner <jek_subs at kleckner.net>
To: 	Mike Rubel <mrubel at galcit.caltech.edu>
CC: 	cygwin at cygwin.com
References:
<Pine.GSO.4.10.10212301618100.1820-100000 at betz.galcit.caltech.edu>



The msleep(100) call is not checked into version 1.156 of main.c.

I would recommend trying this one-line patch to see if it helps.
I haven't personally delved into the true meaning.

I just checked my read-only CVS tree for rsync again.
Here is the context diff for that file.  Note that the msleep(100)
is not in the checked in version.

Jim

Index: main.c
===================================================================
RCS file: /cvsroot/rsync/main.c,v
retrieving revision 1.156
diff -c -r1.156 main.c
*** main.c    1 Aug 2002 20:46:59 -0000    1.156
--- main.c    31 Dec 2002 01:21:34 -0000
***************
*** 346,351 ****
--- 346,353 ----
         exit_cleanup(0);
     }

+         io_start_buffering_in(f_in);
+         io_start_buffering_out(f_out);
     send_files(flist,f_out,f_in);
     io_flush();
     report(f_out);
***************
*** 421,427 ****
     close(error_pipe[1]);
     if (f_in != f_out) close(f_in);

!     io_start_buffering(f_out);

     io_set_error_fd(error_pipe[0]);

--- 423,429 ----
     close(error_pipe[1]);
     if (f_in != f_out) close(f_in);

!     io_start_buffering_out(f_out);

     io_set_error_fd(error_pipe[0]);

***************
*** 434,440 ****
         write_int(f_out, -1);
     }
     io_flush();
!
     kill(pid, SIGUSR2);
     wait_process(pid, &status);
     return status;
--- 436,442 ----
         write_int(f_out, -1);
     }
     io_flush();
!     msleep(100);
     kill(pid, SIGUSR2);
     wait_process(pid, &status);
     return status;
***************
*** 476,481 ****
--- 478,484 ----
         }
     }

+         io_start_buffering_in(f_in);
     if (delete_mode && !delete_excluded)
         recv_exclude_list(f_in);

***************
*** 569,574 ****
--- 572,578 ----
         extern int cvs_exclude;
         extern int delete_mode;
         extern int delete_excluded;
+                 io_start_buffering_out(f_out);
         if (cvs_exclude)
             add_cvs_excludes();
         if (delete_mode && !delete_excluded)
***************
*** 578,584 ****
--- 582,591 ----
         if (verbose > 3)
             rprintf(FINFO,"file list sent\n");

+                 io_flush();
+                 io_start_buffering_out(f_out);
         send_files(flist,f_out,f_in);
+                 io_flush();
         if (remote_version >= 24) {
             /* final goodbye message */
             read_int(f_in);
***************
*** 590,595 ****
--- 597,603 ----
             wait_process(pid, &status);
         }
         report(-1);
+         io_flush();
         exit_cleanup(status);
     }



Mike Rubel wrote:

>[ ... ]
>
>
>
>Could you clarify for me whether the patch Steve refers to is the same as
>(or has the same effect as) the one you describe below?  Or are they two
>different animals?  If they are different, should we test whether this
>patch fixes his specific problem?
>
>Best regards,
>Mike
>
>http://www.mikerubel.org
>



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/





-- 
Lapo 'Raist' Luchini
lapo at lapo.it (PGP & X.509 keys available)
http://www.lapo.it (ICQ UIN: 529796)






More information about the rsync mailing list