]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
- set INIT flag earlier in peerDigestInit() to avoid a loop through
authorrousskov <>
Wed, 13 May 1998 04:07:36 +0000 (04:07 +0000)
committerrousskov <>
Wed, 13 May 1998 04:07:36 +0000 (04:07 +0000)
  peerDigestValidate() -> peerSelect() -> pperDigestLookup() -> peerDigestInit()

src/peer_digest.cc

index 9eb7d4782d70f97a5ee50d43948b8d9cf1a69f79..a92c25e5b3084ec383896b91c1f6b4e484838c31 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: peer_digest.cc,v 1.26 1998/05/12 20:29:24 wessels Exp $
+ * $Id: peer_digest.cc,v 1.27 1998/05/12 22:07:36 rousskov Exp $
  *
  * DEBUG: section 72    Peer Digest Routines
  * AUTHOR: Alex Rousskov
@@ -73,13 +73,14 @@ peerDigestInit(peer * p)
     assert(!p->digest.flags);
     assert(!p->digest.cd);
     assert(SM_PAGE_SIZE == 4096);      /* we use MEM_4K_BUF */
+    /* set "init" flag here so we are not called after peerDigestValidate */
+    EBIT_SET(p->digest.flags, PD_INITED);
     if (EBIT_TEST(p->options, NEIGHBOR_NO_DIGEST)) {
        peerDigestDisable(p);
     } else {
        cbdataLock(p);
        peerDigestValidate(p);
     }
-    EBIT_SET(p->digest.flags, PD_INITED);
 }
 
 /* no pending events or requests should exist when you call this */