summaryrefslogtreecommitdiff
path: root/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-04 22:28:33 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-04 22:28:33 +0100
commita978c074e4272bb901fbe4a10de0a7b2af574f17 (patch)
tree8c764c1cc0576389ce22abd317bceba71ea5732d /www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch
parent40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (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.patch72
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));