]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 4405: assertion failed: comm.cc:554: "Comm::IsConnOpen(conn)"
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Thu, 7 Apr 2016 16:36:10 +0000 (19:36 +0300)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Thu, 7 Apr 2016 16:36:10 +0000 (19:36 +0300)
commitefda53c5c7d5848c7330dbf56773a07a20125d29
tree60008e44bb52a41166312a6e65b705440c427026
parentc9974e82f0878c606d46ee795d2fc945ec66e8a1
Bug 4405: assertion failed: comm.cc:554: "Comm::IsConnOpen(conn)"

 It is possible that the connection will be closed somewhere inside
"clientTunnelOnError" call, inside ConnStateData::fakeAConnectRequest which
is called by ConnStateData::clientTunnelOnError or inside spliceOnError()
while trying to splice(). In this case the callers should be informed to abort
imediatelly, but instead continues, and try to set timeout handler on closed
connection.

This patch:
  - Modify ConnStateData::fakeAConnectRequest and ConnStateData::splice methods     to return boolean and false on error.
  - Does not close the connection inside ConnStateData::fakeAConnectRequest but
    instead return false and allow callers to close the connection if required.

This is a Measurement Factory project
src/client_side.cc
src/client_side.h