From: Alex Rousskov Date: Tue, 28 May 2013 14:45:02 +0000 (-0600) Subject: Simplified prepNonBlocking() to address an XXX: Moved finished() check to X-Git-Tag: SQUID_3_4_0_1~102^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef689e2bf413ae58ed57db4bf1b05b685e4c61e3;p=thirdparty%2Fsquid.git Simplified prepNonBlocking() to address an XXX: Moved finished() check to resumeNonBlockingCheck(). --- diff --git a/src/acl/Checklist.cc b/src/acl/Checklist.cc index 6774c738e9..d5e612778c 100644 --- a/src/acl/Checklist.cc +++ b/src/acl/Checklist.cc @@ -31,19 +31,7 @@ ACLChecklist::prepNonBlocking() return false; } - // If doNonBlocking() was called for a finished() checklist to call - // the callbacks, then do not try to match again. XXX: resumeNonBlockingCheck() should check for this instead. - if (!finished()) - return true; - - /** \par - * Either the request is allowed, denied, requires authentication. - */ - debugs(28, 3, this << " calling back with " << currentAnswer()); - cbdataReferenceDone(accessList); /* A */ - checkCallback(currentAnswer()); - /* From here on in, this may be invalid */ - return false; + return true; } void @@ -265,7 +253,8 @@ ACLChecklist::resumeNonBlockingCheck(AsyncState *state) if (!prepNonBlocking()) return; // checkCallback() has been called - matchAndFinish(); + if (!finished()) + matchAndFinish(); if (asyncInProgress()) assert(!matchPath.empty()); // we have breadcrumbs to resume matching