| Index: net/quic/reliable_quic_stream.cc
|
| diff --git a/net/quic/reliable_quic_stream.cc b/net/quic/reliable_quic_stream.cc
|
| index 1efad1902607faa34274df5b90918cff9dc5c2a9..8389c0fb806e60b68311ede38c84cf5f768ddc2d 100644
|
| --- a/net/quic/reliable_quic_stream.cc
|
| +++ b/net/quic/reliable_quic_stream.cc
|
| @@ -277,7 +277,7 @@ void ReliableQuicStream::MaybeSendBlocked() {
|
| // WINDOW_UPDATE arrives.
|
| if (connection_flow_controller_->IsBlocked() &&
|
| !flow_controller_.IsBlocked()) {
|
| - session_->MarkConnectionLevelWriteBlocked(id(), EffectivePriority());
|
| + session_->MarkConnectionLevelWriteBlocked(id(), Priority());
|
| }
|
| }
|
|
|
| @@ -325,6 +325,12 @@ QuicConsumedData ReliableQuicStream::WritevData(
|
|
|
| AddBytesSent(consumed_data.bytes_consumed);
|
|
|
| + // The write may have generated a write error causing this stream to be
|
| + // closed. If so, simply return without marking the stream write blocked.
|
| + if (write_side_closed_) {
|
| + return consumed_data;
|
| + }
|
| +
|
| if (consumed_data.bytes_consumed == write_length) {
|
| if (!fin_with_zero_data) {
|
| MaybeSendBlocked();
|
| @@ -336,10 +342,10 @@ QuicConsumedData ReliableQuicStream::WritevData(
|
| }
|
| CloseWriteSide();
|
| } else if (fin && !consumed_data.fin_consumed) {
|
| - session_->MarkConnectionLevelWriteBlocked(id(), EffectivePriority());
|
| + session_->MarkConnectionLevelWriteBlocked(id(), Priority());
|
| }
|
| } else {
|
| - session_->MarkConnectionLevelWriteBlocked(id(), EffectivePriority());
|
| + session_->MarkConnectionLevelWriteBlocked(id(), Priority());
|
| }
|
| return consumed_data;
|
| }
|
|
|