diff --git a/security/manager/ssl/tests/mochitest/mixedcontent/Makefile.in b/security/manager/ssl/tests/mochitest/mixedcontent/Makefile.in index d9fb5a70c1c..44a811dc2c5 100644 --- a/security/manager/ssl/tests/mochitest/mixedcontent/Makefile.in +++ b/security/manager/ssl/tests/mochitest/mixedcontent/Makefile.in @@ -68,6 +68,7 @@ _TEST_FILES = \ somestyle.css \ test_bug383369.html \ test_bug455367.html \ + test_bug472986.html \ test_cssBefore1.html \ test_cssContent1.html \ test_cssContent2.html \ @@ -99,7 +100,6 @@ _TEST_FILES = \ # test_bug329869.html \ leaks, bug 452401 # test_dynUnsecureRedirect.html \ intermitently fails, quit often, bug 487402 # test_unsecureIframeMetaRedirect.html \ also intermittently fails, less often, bug 487632 -# test_bug472986.html \ causes timeout of this and all following tests libs:: $(_TEST_FILES) diff --git a/testing/mochitest/ssltunnel/ssltunnel.cpp b/testing/mochitest/ssltunnel/ssltunnel.cpp index ca67e1acea7..dfe771784aa 100644 --- a/testing/mochitest/ssltunnel/ssltunnel.cpp +++ b/testing/mochitest/ssltunnel/ssltunnel.cpp @@ -402,9 +402,13 @@ void HandleConnection(void* data) PRInt16 &in_flags2 = sockets[s2].in_flags; sockets[s].out_flags = 0; - if (out_flags & PR_POLL_EXCEPT) + if (out_flags & (PR_POLL_EXCEPT | PR_POLL_ERR | PR_POLL_HUP)) { client_error = true; + // We got a fatal error state on the socket. Clear the output buffer + // for this socket to break the main loop, we will never more be able + // to send those data anyway. + buffers[s2].bufferhead = buffers[s2].buffertail = buffers[s2].buffer; continue; } // PR_POLL_EXCEPT handling