TUNNEL transactions are naturally ended by one of the client or server
closing the connection. This is not an abort. So finish the CONNECT
message context cleanly when the tunnel is closed.
tunnelState->request->hier.stopPeerClock(false);
if (tunnelState->noConnections()) {
+ // ConnStateData pipeline should contain the CONNECT we are performing
+ auto ctx = tunnelState->http->getConn()->pipeline.front();
+ if (ctx != nullptr)
+ ctx->finished();
delete tunnelState;
return;
}
tunnelState->client.writer = NULL;
if (tunnelState->noConnections()) {
+ // ConnStateData pipeline should contain the CONNECT we are performing
+ auto ctx = tunnelState->http->getConn()->pipeline.front();
+ if (ctx != nullptr)
+ ctx->finished();
delete tunnelState;
return;
}