Bug 1079484 - Page stalls proxying over https part 1. r=hurley
authorPatrick McManus <mcmanus@ducksong.com>
Tue, 07 Oct 2014 16:35:05 -0400
changeset 232752 c39759a6771e50912d89837adf6837152db0dced
parent 232751 0daef5a46f407bcca697a2a8b8800fcde36934e7
child 232753 ccde95bd3c7e76a10ce5f192bbead2646463a847
push id4187
push userbhearsum@mozilla.com
push dateFri, 28 Nov 2014 15:29:12 +0000
treeherdermozilla-beta@f23cc6a30c11 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewershurley
bugs1079484
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1079484 - Page stalls proxying over https part 1. r=hurley
netwerk/protocol/http/TunnelUtils.cpp
--- a/netwerk/protocol/http/TunnelUtils.cpp
+++ b/netwerk/protocol/http/TunnelUtils.cpp
@@ -348,16 +348,19 @@ TLSFilterTransaction::WriteSegments(nsAH
     return NS_ERROR_UNEXPECTED;
   }
 
   mSegmentWriter = aWriter;
   nsresult rv = mTransaction->WriteSegments(this, aCount, outCountWritten);
   if (NS_SUCCEEDED(rv) && NS_FAILED(mFilterReadCode) && !(*outCountWritten)) {
     // nsPipe turns failures into silent OK.. undo that!
     rv = mFilterReadCode;
+    if (mFilterReadCode == NS_BASE_STREAM_WOULD_BLOCK) {
+      Connection()->ResumeRecv();
+    }
   }
   LOG(("TLSFilterTransaction %p called trans->WriteSegments rv=%x %d\n",
        this, rv, *outCountWritten));
   return rv;
 }
 
 nsresult
 TLSFilterTransaction::GetTransactionSecurityInfo(nsISupports **outSecInfo)