Bug 1079484 - Page stalls proxying over https part 1. r=hurley, a=lmandel
authorPatrick McManus <mcmanus@ducksong.com>
Tue, 07 Oct 2014 16:35:05 -0400
changeset 225642 22c66a80bcc70085e5560f35ffef71c2b575da4c
parent 225641 f5ec4ead72da5939a9df694bf2c6a29062254ea2
child 225643 f188a7933665edb415fa55b768955abcea45233c
push id3979
push userraliiev@mozilla.com
push dateMon, 13 Oct 2014 16:35:44 +0000
treeherdermozilla-beta@30f2cc610691 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewershurley, lmandel
bugs1079484
milestone34.0a2
Bug 1079484 - Page stalls proxying over https part 1. r=hurley, a=lmandel
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)