summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/nsHttpConnectionMgr.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/nsHttpConnectionMgr.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/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 907f33436..28df405ad 100644
--- a/netwerk/protocol/http/nsHttpConnectionMgr.cpp
+++ b/netwerk/protocol/http/nsHttpConnectionMgr.cpp
@@ -1819,13 +1819,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;