hanging problem on cygwin

Hari Krishna Dara haridara at gmail.com
Wed Jul 27 20:59:00 GMT 2005

On 7/26/05, Wayne Davison <wayned at samba.org> wrote:
> On Mon, Jul 25, 2005 at 04:44:00PM -0700, Hari Krishna Dara wrote:
> > I am frequently facing problem with rsync as it hangs with no
> > messages.
> It has been my experience that this is caused by bugs in cygwin's pipe
> handling -- if you rsync directly to a daemon process, the data gets
> sent over a socket and rsync does not hang.  If you use a remote-shell
> connection, rsync has to talk over a pipe to the remote-shell, and the
> cygwin code mangles the data, resulting in a hang.  If this is still the
> case (which I believe it is), this hang is out of rsync's control.
> ..wayne..

In daemon mode, I coun't reproduce the problem, which is very good, so
I have decided to change my scripts to use this method. Now to avoid
adding another manual step to my setup process (such as manually
configuring inetd.conf and rsyncd.conf), I was looking at the options
to start rsync via remote shell, and have a really hard time to get it
working. After trying out various options, the documentation seems to
be missing something or I am misunderstaning something (I hope it is
the later). I thought all that I need to do is to pass "--daemon"
option along with the --rsh that I am already passing, and use
rsync://<host>/<module>/<path> syntax instead of the <host>:/<path>
syntax, something like this:

rsync --daemon --rsh=ssh -av rsync://host/module/path_from_module /local_path

But this seems to work just like the below command:

rsync --daemon

as it just starts up a local daemon and does no sync. The man page on
rsyncd.conf also says (in "LAUNCHING THE RSYNC DAEMON" section), that
the --daemon option need not be passed explicitly while using "::" or
"rsync://" in remote server path, so I even tried that:

rsync --rsh=ssh -av rsync://host/module/path_from_module /local_path

but this assumes that rsync server is already running on the default
port on the remote host. I tried other minor modifications such as
passing --server (though the manpage says it is meant for using with
the ssh keys), but no luck. Can someone please help me? I searched the
archives, and found a number of references to using the daemon mode
from inet or with the ssh keys, but not the above simple case. I
appreciate any help.

Thanks a lot,

More information about the rsync mailing list