bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS problem with ssh


From: Larry Jones
Subject: Re: CVS problem with ssh
Date: Wed, 22 Jun 2005 13:54:54 -0400 (EDT)

Richard M. Stallman writes:
> 
> I am trying to bring about a fix for the bad interaction between
> CVS and SSH that causes data to be lost?
> 
>     See <http://lists.gnu.org/archive/html/bug-cvs/2002-07/msg00423.html> for
>     a good explanation.
> 
> After studying that message, I think I understand the problem.  It
> occurs when the stdout of cvs equals the stderr of ssh.  When ssh sets
> O_NONBLOCK on that descriptor, cvs gets confused.

The key thing to understand is that O_NONBLOCK does not affect the
*descriptor*, it affects the underlying *file*.  Thus, if other
descriptors are bound to the same file, they also become non-blocking.

> This problem has gone unfixed because neither CVS nor SSH is doing
> something clearly wrong.  Nonetheless, the combination of the two
> are doing something wrong, so we need to fix it somewhere.

To my mind, SSH *is* doing something clearly wrong.  See:

        <http://lists.gnu.org/archive/html/bug-cvs/2004-08/msg00166.html>

> Couldn't this be fixed easily by changing cvs to handle EAGAIN
> in a simple way when outputting to stdout?

No, because CVS uses stdio for output to stdout and thus the response to
errors is out of its control.  And most extant stdio libraries do not
handle EAGAIN.

-Larry Jones

In a minute, you and I are going to settle this out of doors. -- Calvin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]