]> git.ipfire.org Git - thirdparty/squid.git/commit
Rework the transaction completion/aborting in the ftp code to fix bug 1592
authoradrian <>
Sun, 10 Sep 2006 07:53:00 +0000 (07:53 +0000)
committeradrian <>
Sun, 10 Sep 2006 07:53:00 +0000 (07:53 +0000)
commit16846d005441d33f3fae624762cb2e7a9edeca86
tree29a063c560f93a8c30c2327dd01af72c4121715a
parent1b52df9a98f9ba5c56688353eff85fe4e1d74f2c
Rework the transaction completion/aborting in the ftp code to fix bug 1592

The main problems in the code were:

* fwd->complete() was being called more than once
* everything was being funned through transactionComplete() which just
  wouldn't call abort handlers in the case of an abort.

So, transactionAbort() will call comm_close() to properly kill the
transaction the squid-2 way. this is ugly and should be replaced by some
object state to indicate the connection has been closed and the object
is on its way out; the current way will end up deleting the class data
before the code stack is fully unwound!

transactionForwardComplete() is just a wrapper that makes sure fwd->complete()
is called -once-.
src/ftp.cc