Index: net/quic/quic_crypto_client_stream.cc |
diff --git a/net/quic/quic_crypto_client_stream.cc b/net/quic/quic_crypto_client_stream.cc |
index fd5422eaa792dce79201fe71dad566e5afc6f2e4..a83eadaf0e7b7fde15d2ec5ba292902db7964001 100644 |
--- a/net/quic/quic_crypto_client_stream.cc |
+++ b/net/quic/quic_crypto_client_stream.cc |
@@ -428,9 +428,10 @@ int QuicCryptoClientStream::DoLoadQuicServerInfo( |
// the first request send InchoateClientHello. Fix the code to handle multiple |
// requests. A possible solution is to wait for the first request to finish |
// and use the data from the disk cache for all requests. |
- // quic_server_info->Persist requires quic_server_info to be ready. We might |
- // have already initialized |cached| config from a the cached state for a |
- // canonical hostname. |
+ // We may need to call quic_server_info->Persist later. |
+ // quic_server_info->Persist requires quic_server_info to be ready, so we |
+ // always call WaitForDataReady, even though we might have initialized |
+ // |cached| config from the cached state for a canonical hostname. |
int rv = quic_server_info->WaitForDataReady( |
base::Bind(&QuicCryptoClientStream::OnIOComplete, |
base::Unretained(this))); |
@@ -447,11 +448,8 @@ void QuicCryptoClientStream::DoLoadQuicServerInfoComplete( |
// If someone else already saved a server config, we don't want to overwrite |
// it. Also, if someone else saved a server config and then cleared it (so |
- // cached->IsEmpty() is true, but the generation counter changed), we still |
- // want to load from QuicServerInfo. |
+ // cached->IsEmpty() is true), we still want to load from QuicServerInfo. |
if (!cached->IsEmpty()) { |
- // Someone else has already saved a server config received from the network |
- // or the canonical server config. |
return; |
} |