PATCH/RFC: Another stab at the Cygwin hang problem

jw schultz jw at pegasys.ws
Thu Jul 10 16:58:02 EST 2003


On Wed, Jul 09, 2003 at 06:47:35AM -0400, Tillman, James wrote:
> 
> 
> > -----Original Message-----
> > From: jw schultz [mailto:jw at pegasys.ws]
> > Sent: Wednesday, July 09, 2003 5:59 AM
> > To: rsync at lists.samba.org
> > Subject: Re: PATCH/RFC: Another stab at the Cygwin hang problem
> > 
> > 
> > > I can't quite place why but my instincts inform me that you
> > > have latched onto something.  Some sort of one character
> > > buffering error in the io libraries under cygwin.  Most
> > > likely in the windos libs.
> > > 
> > > Well, we have two reports of this fixing the rsync hang
> > > problem when signals failed.  I'd like a little more testing
> > > before mainlining it.
> > 
> > Nope!  This is a no-go.  It intermittantly produces
> > 
> > 	error (10) -- error in socket IO
> > 
> > on both network and local transfers.
> > 
> 
> I guess I'd better double check my processes to make sure that I'm getting a
> satisfactory success rate on my own servers.  If I see any clues, I'll
> report them here.  Any hope for a fix, or does this look like an inherent
> problem in the method being used?

Better diags might help.  Pull over ssh hits this.

+       write(cleanup_pipe[1], ".", 1);
+       if (waitpid(pid, &status, 0) != pid) {
+               rprintf(FERROR,"cleanup in do_recv failed\n");
+               exit_cleanup(RERR_SOCKETIO); 
+       }       

I have two problems here.  Firstly you are ignoring errno.
The waitpid call fails but you don't identify why.
Secondly, as long as the processes exit (no hangs, zombies
or runaways) and the actual transfer is successful i don't
mind too much if the termination is less than perfect.
Lets not use RERR_SOCKETIO.  Lets use a different warning
status that only applies to the termination.





-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw at pegasys.ws

		Remember Cernan and Schmitt



More information about the rsync mailing list