------------------------------------------------------------ revno: 12535 revision-id: squid3@treenet.co.nz-20130425154740-jc3otsuqja0o83d1 parent: squid3@treenet.co.nz-20130424154624-k1z77au4ozoeutfq author: Alex Rousskov committer: Amos Jeffries branch nick: 3.3 timestamp: Thu 2013-04-25 09:47:40 -0600 message: Prevent external_acl.cc "inBackground" assertion on queue overloads. The enqueue check for external ACL lookups was inconsistent with the final queue length check in ExternalACLLookup::Start(). The former allowed adding to the already full (but not yet overflowing) queue while the latter rightfully(?) asserted that the queue should not overflow. ------------------------------------------------------------ # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: squid3@treenet.co.nz-20130425154740-jc3otsuqja0o83d1 # target_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # testament_sha1: 827c504dfbd1f90c98bd06eca4df8c2e00e899c5 # timestamp: 2013-04-25 15:55:33 +0000 # source_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # base_revision_id: squid3@treenet.co.nz-20130424154624-\ # k1z77au4ozoeutfq # # Begin patch === modified file 'src/external_acl.cc' --- src/external_acl.cc 2012-09-04 09:10:20 +0000 +++ src/external_acl.cc 2013-04-25 15:47:40 +0000 @@ -839,7 +839,7 @@ debugs(82, 2, HERE << "\"" << key << "\": entry=@" << entry << ", age=" << (entry ? (long int) squid_curtime - entry->date : 0)); - if (acl->def->theHelper->stats.queue_size <= (int)acl->def->theHelper->childs.n_active) { + if (acl->def->theHelper->stats.queue_size < (int)acl->def->theHelper->childs.n_active) { debugs(82, 2, HERE << "\"" << key << "\": queueing a call."); ch->changeState(ExternalACLLookup::Instance()); debugs(82, 2, HERE << "\"" << key << "\": return -1.");