Index: net/quic/quic_session.cc |
diff --git a/net/quic/quic_session.cc b/net/quic/quic_session.cc |
index b84eb6aaa57e3fdd1df6f86affd89aaa37de0f20..96fd30b857bbf80be1cf7b234c34a57b2eb01909 100644 |
--- a/net/quic/quic_session.cc |
+++ b/net/quic/quic_session.cc |
@@ -320,6 +320,9 @@ void QuicSession::SendRstStream(QuicStreamId id, |
} |
void QuicSession::SendGoAway(QuicErrorCode error_code, const string& reason) { |
+ if (goaway_sent_) { |
+ return; |
+ } |
goaway_sent_ = true; |
connection_->SendGoAway(error_code, largest_peer_created_stream_id_, reason); |
} |
@@ -457,12 +460,6 @@ QuicDataStream* QuicSession::GetIncomingDataStream(QuicStreamId stream_id) { |
return NULL; |
} |
- if (goaway_sent_) { |
- // We've already sent a GoAway |
- SendRstStream(stream_id, QUIC_STREAM_PEER_GOING_AWAY, 0); |
- return NULL; |
- } |
- |
implicitly_created_streams_.erase(stream_id); |
if (stream_id > largest_peer_created_stream_id_) { |
// TODO(rch) add unit test for this |