summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-02-11 07:15:08 +0100
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-02-11 07:15:08 +0100
commitaaa70dac618e0f56ea3fbe307f3a157360a79069 (patch)
treec397a8b6616dce4320e06e079bdf2f2b53cc4d62
parentd394b70aa4d437233953c8e070318149276b1c7e (diff)
downloadUXP-aaa70dac618e0f56ea3fbe307f3a157360a79069.tar
UXP-aaa70dac618e0f56ea3fbe307f3a157360a79069.tar.gz
UXP-aaa70dac618e0f56ea3fbe307f3a157360a79069.tar.lz
UXP-aaa70dac618e0f56ea3fbe307f3a157360a79069.tar.xz
UXP-aaa70dac618e0f56ea3fbe307f3a157360a79069.zip
Bug 1345240 - h2 stalls on failed early data hard reload
-rw-r--r--netwerk/protocol/http/Http2Session.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/netwerk/protocol/http/Http2Session.cpp b/netwerk/protocol/http/Http2Session.cpp
index a2721017d..5d3c22fc9 100644
--- a/netwerk/protocol/http/Http2Session.cpp
+++ b/netwerk/protocol/http/Http2Session.cpp
@@ -2320,7 +2320,13 @@ Http2Session::ReadSegmentsAgain(nsAHttpSegmentReader *reader,
if (!stream) {
LOG3(("Http2Session %p could not identify a stream to write; suspending.",
this));
+ uint32_t availBeforeFlush = mOutputQueueUsed - mOutputQueueSent;
FlushOutputQueue();
+ uint32_t availAfterFlush = mOutputQueueUsed - mOutputQueueSent;
+ if (availBeforeFlush != availAfterFlush) {
+ LOG3(("Http2Session %p ResumeRecv After early flush in ReadSegments", this));
+ Unused << ResumeRecv();
+ }
SetWriteCallbacks();
return NS_BASE_STREAM_WOULD_BLOCK;
}