Hmm.  You're right.  All the getc() call really seems to be checking for 
is EOF - I was thinking the attempt to get a character was important for 
some reason.  Anyhow, I'm running a make check on it now.  If it's 
successful and there are no objections raised, I'll check it in.

Derek

-- 
                *8^)

Email: [EMAIL PROTECTED]

Get CVS support at http://ximbiot.com
-- 
I will not go near the kindergarten turtle.
I will not go near the kindergarten turtle.
I will not go near the kindergarten turtle...

          - Bart Simpson on chalkboard, _The Simpsons_


Mark D. Baushke wrote:

>Derek Robert Price <[EMAIL PROTECTED]> writes:
>  
>
>>The socket or pipe really needs to be verified closed there to report
>>errors properly.  Can the pipe or socket be set to O_NONBLOCK just
>>before this call or could some other read call be used that won't
>>block?
>>    
>>
>
>Hmmm.. I have not tested it, but I suppose !feof(bc->fp) might work on
>some platforms.
>
>I am CCing Peter Wemm on this message as he likely has more information.
>
>Hi Peter, there is a patch you made to the FreeBSD version of cvs 1.11.2
>that I think should probably go back to the cvshome.org folks. Can you
>point to the test case that you used to determine the code was hanging
>using older cvs clients?
>
>       Thanks,
>       -- Mark
>
>PS: I am slowly working thru the FreeBSD changes to cvs 1.11.2 in hopes
>of getting the more critical patches folded back into the cvshome.org
>version.
>
>  
>
>>Derek
>>-- 
>>                *8^)
>>
>>Email: [EMAIL PROTECTED]
>>
>>Get CVS support at http://ximbiot.com
>>-- 
>>All work and no play makes Bart a dull boy.
>>All work and no play makes Bart a dull boy.
>>All work and no play makes Bart a dull boy...
>>
>>          - Bart Simpson on chalkboard, _The Simpsons_
>>
>>
>>Mark D. Baushke wrote:
>>
>>    
>>
>>>Hi Derek,
>>>
>>>I suspect this patch needs to get into current cvs sources. (It is
>>>in the FreeBSD top-of-tree sources already.)
>>>
>>>I can file this as a bug report if you wish...
>>>
>>>     Thanks,
>>>     -- Mark
>>>     [EMAIL PROTECTED]
>>>
>>>FreeBSD Log:
>>>----------------------------
>>>date: 2002/09/02 07:58:04;  author: peter;  state: Exp;  lines: +627 -17
>>>Fix a cvs server bug introduced in 1.11.2, in the words of the author:
>>>---
>>>Fix communication hanging in communication shutdown phase, caused by at
>>>least older CVS clients (version < 1.11.2) and a semantically incorrect
>>>usage of getc() by the server.
>>>---
>>>
>>>getc() was being used on a blocking socket/pipe.
>>>
>>>Submitted by:   rse
>>>----------------------------
>>>
>>>Index:src/buffer.c
>>>===================================================================
>>>RCS file: /cvs/ccvs/src/buffer.c,v
>>>retrieving revision 1.19
>>>diff -u -p -r1.19 buffer.c
>>>--- buffer.c 20 May 2002 18:27:55 -0000      1.19
>>>+++ buffer.c 24 Sep 2002 06:54:01 -0000
>>>@@ -1392,8 +1392,7 @@ stdio_buffer_shutdown (buf)
>>>    if (buf->input)
>>>    {
>>>-    if (! buf_empty_p (buf)
>>>-        || getc (bc->fp) != EOF)
>>>+    if (! buf_empty_p (buf))
>>>     {
>>># ifdef SERVER_SUPPORT
>>>         if (server_active)
>>>      
>>>




_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs

Reply via email to