]> 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>
Fri, 17 Jun 2016 17:37:22 +0000 (20:37 +0300)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 17 Jun 2016 17:37:22 +0000 (20:37 +0300)
commit4309d5071889f0abe9a2ff4067b7b4ac0c28b1ed
tree0309974595df2694a724961859cfa36d16832ed2
parent3fe0d8df6b7bc72d8441d68617653d88310d5dc4
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