[Top][All Lists]

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

Fix for cvs hang

From: Zardoz
Subject: Fix for cvs hang
Date: Sat, 23 Mar 2002 14:18:51 -0800
User-agent: Mutt/1.5.0i

My cvs client 1.10.7 on RH6.2 hangs when talking to
cvs server 1.11 (latest from CVS) [running on RH5.2]
[client and server are both in read]

(gdb) bt
#0  0x400a57b4 in __read ()
#1  0x400d378c in __DTOR_END__ ()
#2  0x4007757c in _IO_file_underflow (fp=0x80bc388) at fileops.c:303
#3  0x400782fd in _IO_default_uflow (fp=0x80bc388) at genops.c:313
#4  0x40078208 in __uflow (fp=0x80bc388) at genops.c:273
#5  0x400764dc in _IO_getc (fp=0x80bc388) at getc.c:38
#6  0x804e0b6 in stdio_buffer_shutdown (buf=0x80c1430) at buffer.c:1381
#7  0x804decf in buf_shutdown (buf=0x80c1430) at buffer.c:1207
#8  0x808a0df in compress_buffer_shutdown_input (buf=0x80c1848) at zlib.c:384
#9  0x804decf in buf_shutdown (buf=0x80c1848) at buffer.c:1207
#10 0x808106f in server_cleanup (sig=0) at server.c:4889
#11 0x80815a3 in server (argc=1, argv=0xbffffdb0) at server.c:5273
#12 0x806a90c in main (argc=1, argv=0xbffffdb0) at main.c:989

To repro try
  cvs -z3 update -P -d

Also noticed the following nuisance
     cvs -t update -P -d
An extra 'S->Lock_Cleanup' gets reported as a dying gasp

The following diff fixes the hang.

Index: server.c
RCS file: /cvs/ccvs/src/server.c,v
retrieving revision 1.273
diff -u -r1.273 server.c
--- server.c    11 Feb 2002 18:49:33 -0000      1.273
+++ server.c    23 Mar 2002 21:43:58 -0000
@@ -4886,6 +4886,7 @@
         * have generated any final output, we shut down BUF_TO_NET.
+       set_nonblock(buf_from_net); /* in case buf_from_net and buf_to_net are 
the same fd */
        status = buf_shutdown (buf_from_net);
        if (status != 0)

reply via email to

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