bug 1072478 - h2 push loses fin bit race condition 1/2 r=hurley

--HG--
extra : rebase_source : 25ba5077d89f4cbf4c1a8e93a3c4da1536260d83
This commit is contained in:
Patrick McManus 2015-01-13 15:26:23 -05:00
parent dfe84c8ed8
commit e2c3dd796f
2 changed files with 6 additions and 6 deletions

View File

@ -353,13 +353,13 @@ Http2PushTransactionBuffer::WriteSegments(nsAHttpSegmentWriter *writer,
mIsDone = true;
}
if (Available()) {
if (Available() || mIsDone) {
Http2Stream *consumer = mPushStream->GetConsumerStream();
if (consumer) {
LOG3(("Http2PushTransactionBuffer::WriteSegments notifying connection "
"consumer data available 0x%X [%u]\n",
mPushStream->StreamID(), Available()));
"consumer data available 0x%X [%u] done=%d\n",
mPushStream->StreamID(), Available(), mIsDone));
mPushStream->ConnectPushedStream(consumer);
}
}

View File

@ -282,13 +282,13 @@ SpdyPush31TransactionBuffer::WriteSegments(nsAHttpSegmentWriter *writer,
mIsDone = true;
}
if (Available()) {
if (Available() || mIsDone) {
SpdyStream31 *consumer = mPushStream->GetConsumerStream();
if (consumer) {
LOG3(("SpdyPush31TransactionBuffer::WriteSegments notifying connection "
"consumer data available 0x%X [%u]\n",
mPushStream->StreamID(), Available()));
"consumer data available 0x%X [%u] done=%d\n",
mPushStream->StreamID(), Available(), mIsDone));
mPushStream->ConnectPushedStream(consumer);
}
}