summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/nsHttpConnectionMgr.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-07-21 23:05:59 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-07-22 04:53:44 +0200
commit17a4b4f6db96b04a62e54146d637b0e10a80acfa (patch)
treec84a4636793daa5098564e287c78f0cfd8de746b /netwerk/protocol/http/nsHttpConnectionMgr.cpp
parentf6a282023ec220c7cf181276e88a36be2821b132 (diff)
downloadUXP-17a4b4f6db96b04a62e54146d637b0e10a80acfa.tar
UXP-17a4b4f6db96b04a62e54146d637b0e10a80acfa.tar.gz
UXP-17a4b4f6db96b04a62e54146d637b0e10a80acfa.tar.lz
UXP-17a4b4f6db96b04a62e54146d637b0e10a80acfa.tar.xz
UXP-17a4b4f6db96b04a62e54146d637b0e10a80acfa.zip
Implement a threadsafe & revised version of http2PushedStream.
This re-applies the patch for this with added typename declaration.
Diffstat (limited to 'netwerk/protocol/http/nsHttpConnectionMgr.cpp')
-rw-r--r--netwerk/protocol/http/nsHttpConnectionMgr.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/netwerk/protocol/http/nsHttpConnectionMgr.cpp b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
index 71c19a9ec..d402b4104 100644
--- a/netwerk/protocol/http/nsHttpConnectionMgr.cpp
+++ b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
@@ -1827,13 +1827,18 @@ nsHttpConnectionMgr::ProcessNewTransaction(nsHttpTransaction *trans)
trans->SetPendingTime();
- Http2PushedStream *pushedStream = trans->GetPushedStream();
- if (pushedStream) {
- LOG((" ProcessNewTransaction %p tied to h2 session push %p\n",
- trans, pushedStream->Session()));
- return pushedStream->Session()->
- AddStream(trans, trans->Priority(), false, nullptr) ?
- NS_OK : NS_ERROR_UNEXPECTED;
+ RefPtr<Http2PushedStreamWrapper> pushedStreamWrapper =
+ trans->GetPushedStream();
+ if (pushedStreamWrapper) {
+ Http2PushedStream* pushedStream = pushedStreamWrapper->GetStream();
+ if (pushedStream) {
+ LOG((" ProcessNewTransaction %p tied to h2 session push %p\n", trans,
+ pushedStream->Session()));
+ return pushedStream->Session()->AddStream(trans, trans->Priority(), false,
+ nullptr)
+ ? NS_OK
+ : NS_ERROR_UNEXPECTED;
+ }
}
nsresult rv = NS_OK;