]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Handle early eCAP transaction failures better.
authorAlex Rousskov <rousskov@measurement-factory.com>
Sun, 12 Dec 2010 23:29:26 +0000 (16:29 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Sun, 12 Dec 2010 23:29:26 +0000 (16:29 -0700)
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 95f2ae53dc7be10a0eeb054876792a232db1af38..a638049cc9575e209e45480f1ba48a2469f1236f 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));