summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/Http2Stream.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-07-18 17:52:46 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-07-18 17:52:46 +0200
commit66fae1d81013a2321e7d607a426f834a01b847ce (patch)
tree8d32a121bee3f2952047e719c18bcd015f1257e4 /netwerk/protocol/http/Http2Stream.cpp
parent2539ce925195a9524521c5d87fd3441d964d03d3 (diff)
downloadUXP-66fae1d81013a2321e7d607a426f834a01b847ce.tar
UXP-66fae1d81013a2321e7d607a426f834a01b847ce.tar.gz
UXP-66fae1d81013a2321e7d607a426f834a01b847ce.tar.lz
UXP-66fae1d81013a2321e7d607a426f834a01b847ce.tar.xz
UXP-66fae1d81013a2321e7d607a426f834a01b847ce.zip
Implement a threadsafe & revised version of http2PushedStream.
Diffstat (limited to 'netwerk/protocol/http/Http2Stream.cpp')
-rw-r--r--netwerk/protocol/http/Http2Stream.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/netwerk/protocol/http/Http2Stream.cpp b/netwerk/protocol/http/Http2Stream.cpp
index 581ebe016..22d8142c9 100644
--- a/netwerk/protocol/http/Http2Stream.cpp
+++ b/netwerk/protocol/http/Http2Stream.cpp
@@ -442,12 +442,14 @@ Http2Stream::ParseHttpRequestHeaders(const char *buf,
requestContext->GetSpdyPushCache(&cache);
}
+ RefPtr<Http2PushedStreamWrapper> pushedStreamWrapper;
Http2PushedStream *pushedStream = nullptr;
// If a push stream is attached to the transaction via onPush, match only with that
// one. This occurs when a push was made with in conjunction with a nsIHttpPushListener
nsHttpTransaction *trans = mTransaction->QueryHttpTransaction();
- if (trans && (pushedStream = trans->TakePushedStream())) {
+ if (trans && (pushedStreamWrapper = trans->TakePushedStream()) &&
+ (pushedStream = pushedStreamWrapper->GetStream())) {
if (pushedStream->mSession == mSession) {
LOG3(("Pushed Stream match based on OnPush correlation %p", pushedStream));
} else {