From: rousskov <> Date: Wed, 13 May 1998 04:07:36 +0000 (+0000) Subject: - set INIT flag earlier in peerDigestInit() to avoid a loop through X-Git-Tag: SQUID_3_0_PRE1~3335 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cdfc5afd5d30c40235e75c856f0cb628285e16d5;p=thirdparty%2Fsquid.git - set INIT flag earlier in peerDigestInit() to avoid a loop through peerDigestValidate() -> peerSelect() -> pperDigestLookup() -> peerDigestInit() --- diff --git a/src/peer_digest.cc b/src/peer_digest.cc index 9eb7d4782d..a92c25e5b3 100644 --- a/src/peer_digest.cc +++ b/src/peer_digest.cc @@ -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 */