Index: net/quic/quic_client_session.cc |
diff --git a/net/quic/quic_client_session.cc b/net/quic/quic_client_session.cc |
index 91584c05a4cc41b7184ee1dde2ffd7f28c9bb17d..8604294085e81998263cf69b7513d5cad11b278b 100644 |
--- a/net/quic/quic_client_session.cc |
+++ b/net/quic/quic_client_session.cc |
@@ -310,6 +310,7 @@ void QuicClientSession::OnCryptoHandshakeMessageReceived( |
} |
void QuicClientSession::ConnectionClose(QuicErrorCode error, bool from_peer) { |
+ DCHECK(!connection()->connected()); |
logger_.OnConnectionClose(error, from_peer); |
if (from_peer) { |
UMA_HISTOGRAM_SPARSE_SLOWLY( |
@@ -330,6 +331,7 @@ void QuicClientSession::ConnectionClose(QuicErrorCode error, bool from_peer) { |
if (!callback_.is_null()) { |
base::ResetAndReturn(&callback_).Run(ERR_QUIC_PROTOCOL_ERROR); |
} |
+ socket_->Close(); |
QuicSession::ConnectionClose(error, from_peer); |
NotifyFactoryOfSessionCloseLater(); |
} |