Chromium Code Reviews| Index: net/quic/quic_http_stream.cc |
| diff --git a/net/quic/quic_http_stream.cc b/net/quic/quic_http_stream.cc |
| index db671f22e925e3313ae37f648a0e7e762eac4f1b..c30ed5982326d2d3882a0011b326caa868dc8aae 100644 |
| --- a/net/quic/quic_http_stream.cc |
| +++ b/net/quic/quic_http_stream.cc |
| @@ -556,7 +556,21 @@ int QuicHttpStream::ProcessResponseHeaders(const SpdyHeaderBlock& headers) { |
| } |
| int QuicHttpStream::ReadAvailableData(IOBuffer* buf, int buf_len) { |
| + // TODO(rtenneti): Temporary until crbug.com/585591 is solved. |
| + CHECK(!read_is_progress_); |
| + read_is_progress_ = true; |
| + stream_->set_read_is_progress(read_is_progress_); |
| + stream_->CrashIfInvalid(); |
|
eroman
2016/02/12 21:12:43
nit: move this up one line so it precedes other ac
ramant (doing other things)
2016/02/13 00:14:19
Good point. Thanks much.
Done.
|
| + |
| int rv = stream_->Read(buf, buf_len); |
| + // TODO(rtenneti): Temporary until crbug.com/585591 is solved. |
| + CHECK(read_is_progress_); |
| + read_is_progress_ = false; |
| + stream_->set_read_is_progress(read_is_progress_); |
| + // CrashIfInvalid() may not be necessary. See if |stream_| became a nullptr |
| + // due to memory corruptions. |
| + stream_->CrashIfInvalid(); |
| + |
| if (stream_->IsDoneReading()) { |
| stream_->SetDelegate(nullptr); |
| stream_->OnFinRead(); |
| @@ -566,6 +580,11 @@ int QuicHttpStream::ReadAvailableData(IOBuffer* buf, int buf_len) { |
| } |
| void QuicHttpStream::ResetStream() { |
| + // TODO(rtenneti): Temporary until crbug.com/585591 is solved. |
| + if (read_is_progress_) { |
| + // |stream_| is going away when Read is called. Should never happen?? |
| + CHECK(false); |
| + } |
| if (!stream_) |
| return; |
| closed_stream_received_bytes_ = stream_->stream_bytes_read(); |