bug-cvs
[Top][All Lists]
Advanced

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

Re: PATCH for bug in CVS flow control


From: Mark D. Baushke
Subject: Re: PATCH for bug in CVS flow control
Date: Tue, 24 Aug 2004 16:06:18 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ian Lance Taylor <ian@wasabisystems.com> writes:

> I sent this patch in a few months ago, but it doesn't seem to have
> been applied yet.  The current code is buggy, and this patch, or a
> similar one, should be applied.

Hmmm... https://ccvs.cvshome.org/issues/show_bug.cgi?id=198

In recurse.c 1.75 for cvs 1.11.2 we see:

    should_readlock = noexec ? 0 : frame->readlock;
    (where frame->readlock was only ever 0 for write or 1 for read)

    ...
    if (server_active
        && (should_readlock || noexec))
       server_pause_check();

In recurse.c 1.97 we see

    locktype = noexec ? CVS_LOCK_NONE : frame->locktype;
    (where frame->locktype is one of CVS_LOCK_NONE=0, CVS_LOCK_READ=1,
    CVS_LOCK_WRITE=2)
    ...
    if (server_active && locktype != CVS_LOCK_NONE)
       server_pause_check();

I am persuaded that you are correct. I will be applying your patch
to both the STABLE and FEATURE branches as soon as they pass the
existing regression tests.

        Thanks!
        -- Mark

2004-06-09  Ian Lance Taylor  <ian@wasabisystems.com>

        * recurse.c (do_recursion): Correct test for calling
        server_pause_check to occur when locktype != CVS_LOCK_WRITE.


- --- recurse.c.~1.97.~ 2004-05-03 11:28:25.000000000 -0400
+++ recurse.c   2004-06-09 14:25:29.000000000 -0400
@@ -640,6 +640,6 @@ do_recursion (struct recursion_frame *fr
      * generating data, to give the buffers a chance to drain to the
      * remote client.  We should not have locks active at this point,
      * but if there are writelocks around, we cannot pause here.  */
- -    if (server_active && locktype != CVS_LOCK_NONE)
+    if (server_active && locktype != CVS_LOCK_WRITE)
        server_pause_check();
 #endif
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFBK8nq3x41pRYZE/gRApqpAKDh0+Frzl8CmTg1kP9aOx8stTSydwCbBIJ3
6lXxdWdgPUF2xHNMWdlUcAQ=
=E0Y4
-----END PGP SIGNATURE-----




reply via email to

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