On Tue, Aug 01, 2000 at 08:46:43AM -0500, Dave Dykstra wrote:
> On Sat, Jul 29, 2000 at 03:13:27PM +1000, [EMAIL PROTECTED] wrote:
> > I've finally released rsync 2.4.4
> >
> > This is mostly to release some fixes that have been sitting in our cvs
> > tree and patch queue for quite a while.
> ...
> > - rsh/blocking-io fixes
> ...
>
> It looks like Tridge negelected to include a fix for when the remote side
> is an rsync server daemon; I haven't tested it nor even seen the problem
> myself, but a few people reported problems with rsync 2.4.3 when connecting
> to a daemon, and inserting "set_blocking(STDOUT_FILENO)" solved their
> problem. That's the bad news; the good news is that it can be enabled
> without code changes in rsync 2.4.4 by explicitly including --blocking-io.
> In the next release I think Tridge should make that the default when the
> remote side is a daemon.
Hey! I was wrong: --blocking-io has no effect when talking to a daemon
because the set_blocking(STDOUT_FILENO) it ends up doing is in a leg of
code that is only executed when forking an rsh/ssh child. I had
erroneously suggested to a couple people to put that code in when they
reported trouble with a server daemon and they had reported that it had
helped, but they must have been wrong too.
So rsync 2.4.4 probably works for all variations of networking. There is
still set_nonblocking() going on which was not happening in rsync 2.3.2 and
earlier, so I'm not 100% sure there isn't still a problem, but in any event
my suggested patch of adding set_blocking in util.c can't have helped. The
set_nonblocking for server daemons is happening in main.c.
- Dave Dykstra