From aaa70dac618e0f56ea3fbe307f3a157360a79069 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Sun, 11 Feb 2018 07:15:08 +0100 Subject: Bug 1345240 - h2 stalls on failed early data hard reload --- netwerk/protocol/http/Http2Session.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'netwerk/protocol/http/Http2Session.cpp') 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; } -- cgit v1.2.3