]> git.ipfire.org Git - thirdparty/squid.git/commit
Assertion failed: Write.cc:38: "fd_table[conn->fd].flags.open"
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Thu, 30 Jun 2016 21:09:12 +0000 (09:09 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 30 Jun 2016 21:09:12 +0000 (09:09 +1200)
commit836af77c620e5e278848bd4aae92fdd8a7e275b6
tree187cf7125993c1598dda5846cdbd16942c5253b1
parent3dc01330e257e8c8f7e119bdd71380d7ceec310d
Assertion failed: Write.cc:38: "fd_table[conn->fd].flags.open"

The Ftp::Server::stopWaitingForOrigin() notification may come after
Ftp::Server (or an external force) has started closing the control
connection but before the Ftp::Server job became unreachable for
notifications. Writing a response in this state leads to assertions.

Other, currently unknown paths may lead to the same write-after-close
problems. This change protects all asynchronous notification methods
(except the connection closure handler itself) from exposing underlying
code to a closing control connection. This is very similar to checking
for ERR_CLOSING in Comm handlers.

This is a Measurement Factory project.
src/servers/FtpServer.cc