On 06/08/2013 05:11 AM, Amos Jeffries wrote: > On 8/06/2013 5:02 a.m., Alex Rousskov wrote: >> The attached patch prevents asserts when Squid reuses the same >> Checklist object for multiple ACL checks. I missed one use case when >> adding Checklist reuse controls for trunk r12859 (Boolean ACLs). The bug >> can be triggered by a combination of log_access and access_log ACLs, for >> example. >> >> Concurrent checks are not supported, but it is possible for the same >> ACLChecklist to be used for a sequence of checks, alternating >> fastCheck(void) and fastCheck(list) calls. We needed a >> different/dedicated mechanism to detect check concurrency (added >> ACLChecklist::occupied_), and we needed to preserve (and then restore) >> pre-set accessList during fastCheck(list) checks.
> +1. Committed to trunk as r12901. Thank you, Alex.