]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 2384: Assertion failed on ESI page.
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 20 Jun 2008 03:40:55 +0000 (15:40 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 20 Jun 2008 03:40:55 +0000 (15:40 +1200)
ESI was deleting its reference to child HTTP requests instead of unlocking
them. Even if they were in use elsewhere.

TODO: A better approach may be to cancel the dependent child request
entirely and close its resources down in a chain-reaction.

src/ESI.cc

index 58c95c86cc174e9d2a5281e544c6d85879eebfcc..e618af59fd86077f5f514cd227b6f71661718d5c 100644 (file)
@@ -1435,12 +1435,9 @@ ESIContext::ParserState::popAll()
 void
 ESIContext::freeResources ()
 {
-    debugs(86, 5, "ESIContext::freeResources: Freeing for this=" << this);
+    debugs(86, 5, HERE << "Freeing for this=" << this);
 
-    if (rep) {
-        delete rep;
-        rep = NULL;
-    }
+    HTTPMSGUNLOCK(rep);
 
     finishChildren ();