diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-05-04 22:28:33 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-05-04 22:28:33 +0100 |
commit | a978c074e4272bb901fbe4a10de0a7b2af574f17 (patch) | |
tree | 8c764c1cc0576389ce22abd317bceba71ea5732d /www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch | |
parent | 40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (diff) |
gentoo resync : 04.05.2021
Diffstat (limited to 'www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch')
-rw-r--r-- | www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch b/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch new file mode 100644 index 000000000000..51894c485012 --- /dev/null +++ b/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch @@ -0,0 +1,72 @@ +https://github.com/JustOff/github-wc-polyfill/issues/10 + +--- a/netwerk/protocol/websocket/WebSocketChannel.h ++++ b/netwerk/protocol/websocket/WebSocketChannel.h +@@ -151,6 +151,7 @@ private: + void GeneratePong(uint8_t *payload, uint32_t len); + void GeneratePing(); + ++ MOZ_MUST_USE nsresult OnNetworkChangedTargetThread(); + MOZ_MUST_USE nsresult OnNetworkChanged(); + MOZ_MUST_USE nsresult StartPinging(); + +--- a/netwerk/protocol/websocket/WebSocketChannel.cpp ++++ b/netwerk/protocol/websocket/WebSocketChannel.cpp +@@ -1270,14 +1270,14 @@ WebSocketChannel::Observe(nsISupports *s + // Next we check mDataStarted, which we need to do on mTargetThread. + if (!IsOnTargetThread()) { + mTargetThread->Dispatch( +- NewRunnableMethod("net::WebSocketChannel::OnNetworkChanged", ++ NewRunnableMethod("net::WebSocketChannel::OnNetworkChangedTargetThread", + this, +- &WebSocketChannel::OnNetworkChanged), ++ &WebSocketChannel::OnNetworkChangedTargetThread), + NS_DISPATCH_NORMAL); + } else { +- nsresult rv = OnNetworkChanged(); ++ nsresult rv = OnNetworkChangedTargetThread(); + if (NS_FAILED(rv)) { +- LOG(("WebSocket: OnNetworkChanged failed (%08" PRIx32 ")", ++ LOG(("WebSocket: OnNetworkChangedTargetThread failed (%08" PRIx32 ")", + static_cast<uint32_t>(rv))); + } + } +@@ -1289,23 +1289,25 @@ WebSocketChannel::Observe(nsISupports *s + } + + nsresult +-WebSocketChannel::OnNetworkChanged() ++WebSocketChannel::OnNetworkChangedTargetThread() + { +- if (IsOnTargetThread()) { +- LOG(("WebSocketChannel::OnNetworkChanged() - on target thread %p", this)); +- +- if (!mDataStarted) { +- LOG(("WebSocket: data not started yet, no ping needed")); +- return NS_OK; +- } ++ LOG(("WebSocketChannel::OnNetworkChangedTargetThread() - on target thread %p", this)); + +- return mSocketThread->Dispatch( +- NewRunnableMethod("net::WebSocketChannel::OnNetworkChanged", +- this, +- &WebSocketChannel::OnNetworkChanged), +- NS_DISPATCH_NORMAL); ++ if (!mDataStarted) { ++ LOG(("WebSocket: data not started yet, no ping needed")); ++ return NS_OK; + } + ++ return mSocketThread->Dispatch( ++ NewRunnableMethod("net::WebSocketChannel::OnNetworkChanged", ++ this, ++ &WebSocketChannel::OnNetworkChanged), ++ NS_DISPATCH_NORMAL); ++} ++ ++nsresult ++WebSocketChannel::OnNetworkChanged() ++{ + MOZ_ASSERT(OnSocketThread(), "not on socket thread"); + + LOG(("WebSocketChannel::OnNetworkChanged() - on socket thread %p", this)); |