Bug 1412497 - fix test for buffered input stream. r=baku

This commit is contained in:
Jorg K 2017-10-29 08:59:26 +01:00
parent a29f4ac5f8
commit e4e37ae9d0
2 changed files with 5 additions and 1 deletions

View File

@ -43,6 +43,7 @@ nsInputStreamPump::nsInputStreamPump()
, mWaitingForInputStreamReady(false)
, mCloseWhenDone(false)
, mRetargeting(false)
, mAsyncStreamIsBuffered(false)
, mMutex("nsInputStreamPump")
{
}
@ -714,7 +715,7 @@ nsInputStreamPump::OnStateStop()
nsresult
nsInputStreamPump::CreateBufferedStreamIfNeeded()
{
if (mAsyncStream) {
if (mAsyncStreamIsBuffered) {
return NS_OK;
}
@ -722,6 +723,7 @@ nsInputStreamPump::CreateBufferedStreamIfNeeded()
// it, we wrap a nsIBufferedInputStream around it, if needed.
if (NS_InputStreamIsBuffered(mAsyncStream)) {
mAsyncStreamIsBuffered = true;
return NS_OK;
}
@ -733,6 +735,7 @@ nsInputStreamPump::CreateBufferedStreamIfNeeded()
// A buffered inputStream must implement nsIAsyncInputStream.
mAsyncStream = do_QueryInterface(stream);
MOZ_DIAGNOSTIC_ASSERT(mAsyncStream);
mAsyncStreamIsBuffered = true;
return NS_OK;
}

View File

@ -100,6 +100,7 @@ protected:
bool mWaitingForInputStreamReady;
bool mCloseWhenDone;
bool mRetargeting;
bool mAsyncStreamIsBuffered;
// Protects state/member var accesses across multiple threads.
mozilla::RecursiveMutex mMutex;
};