bug-cvs
[Top][All Lists]
Advanced

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

Re: cvs 1.11.2 buffer.c blocking socket/pipe w/bugfix


From: Mark D. Baushke
Subject: Re: cvs 1.11.2 buffer.c blocking socket/pipe w/bugfix
Date: Sat, 12 Oct 2002 02:20:21 -0700

> Subject: Re: cvs 1.11.2 buffer.c blocking socket/pipe w/bugfix
> To: derek@ximbiot.com (Derek Robert Price)
> Date: Thu, 26 Sep 2002 16:07:18 -0400 (EDT)
> Cc: mdb@juniper.net, peter@freebsd.org, pst@pst.org, bug-cvs@gnu.org
> From: lawrence.jones@eds.com (Larry Jones)
> 
> Derek Robert Price writes:
> > 
> > Can you suggest an alternative to get around the blocking problem?
> 
> It looks to me like we're just screwed.  The problem is that when old
> clients use compression, they don't actually close the connection to the
> server until after the server closes its connection to them.  The old
> server didn't check for EOF on the input stream before closing it, so it
> didn't matter, but the new server does and thus hangs.

Yes, that seems to be the case. However, I see have very little hope
that everyone will be updated to cvs 1.11.2 right away...

> I think our best course of action is to just remove the EOF check from
> the input buffer case in stdio_buffer_shutdown(), which was the
> originally suggested fix.  I don't like it, the old client behavior is
> clearly wrong, but I think it's the lesser of two evils.

Thank you for the analysis.

When do you think this commit will occur to the cvshome.org repository?

> By the way, it looks to me like the two "if (server_active)"s in that
> code should actually be "if (!server_active)"s, no?

Hmmm... I was under the impression that current_parsed_root->hostname
was only filled in for the client-side of the transaction. If true, then
the two "if (server_active)"s are likely correct as the are.

> -Larry Jones

        Thanks,
        -- Mark




reply via email to

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