]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Alex Rousskov <rousskov@measurement-factory.com>
authorAmos Jeffries <squid3@treenet.co.nz>
Sun, 30 Jan 2011 05:20:41 +0000 (22:20 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 30 Jan 2011 05:20:41 +0000 (22:20 -0700)
Handle early eCAP transaction failures better.

Do not throw an exception if eCAP transaction had to deal with a virgin body
but was not consuming it at swangSong() time. This may happen if the eCAP
adapter throws an exception before the adapter requests the virgin body
transmission or after it stops the transmission. In other words, the
transaction wrapper consumes only if proxyingVb is on.

src/adaptation/ecap/XactionRep.cc

index cb9bb7ede7680e4783840f5d6fd744bef25f1669..373281f89ce957867c393e70d60c05079e530982 100644 (file)
@@ -88,7 +88,7 @@ Adaptation::Ecap::XactionRep::swanSong()
         }
     }
 
-    {
+    if (proxyingVb == opOn) {
         BodyPipe::Pointer body_pipe = theVirginRep.raw().body_pipe;
         if (body_pipe != NULL) {
             Must(body_pipe->stillConsuming(this));