]> 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:31:58 +0000 (15:31 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 20 Jun 2008 03:31:58 +0000 (15:31 +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 3aa898e9b0f238e4f87df003b5df34610cf9aaf1..9854db32be6b0d1e1db1fac2a1f861c077525a36 100644 (file)
@@ -1425,12 +1425,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 ();