delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/12/30/20:25:26

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <3E10F1DF.7050000@kleckner.net>
Date: Mon, 30 Dec 2002 17:24:47 -0800
From: Jim Kleckner <jek_subs AT kleckner DOT net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4.1) Gecko/20020508 Netscape6/6.2.3
X-Accept-Language: en-us
MIME-Version: 1.0
To: Mike Rubel <mrubel AT galcit DOT caltech DOT edu>
CC: cygwin AT cygwin DOT com
Subject: Re: rsync windows -> unix still hanging :(
References: <Pine DOT GSO DOT 4 DOT 10 DOT 10212301618100 DOT 1820-100000 AT betz DOT galcit DOT caltech DOT 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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019