[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
- Re: cvs 1.11.2 buffer.c blocking socket/pipe w/bugfix,
Mark D. Baushke <=