diff options
author | Moonchild <moonchild@palemoon.org> | 2020-12-16 06:40:58 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-12-16 07:42:02 +0000 |
commit | 203be74ffe19ea3010e389cee32077ec6c7a173a (patch) | |
tree | 1c0dfd0363791da1332e4df0d63fb11a489dd7c5 | |
parent | 0ea6dd009f7fa59c21fb56deb82a96595b78ab3c (diff) | |
download | UXP-203be74ffe19ea3010e389cee32077ec6c7a173a.tar UXP-203be74ffe19ea3010e389cee32077ec6c7a173a.tar.gz UXP-203be74ffe19ea3010e389cee32077ec6c7a173a.tar.lz UXP-203be74ffe19ea3010e389cee32077ec6c7a173a.tar.xz UXP-203be74ffe19ea3010e389cee32077ec6c7a173a.zip |
Revert "Issue #1695 - Add clamping to websocket polling timeouts."
As of [da0c073a7] we no longer need this workaround because the issue is avoided
with proper sleep/wake logic restored.
This reverts commit 2fa993b5639e04c7e1d7403ecf9175a223ce50b4.
-rw-r--r-- | modules/libpref/init/all.js | 5 | ||||
-rw-r--r-- | netwerk/base/nsSocketTransportService2.cpp | 23 | ||||
-rw-r--r-- | netwerk/base/nsSocketTransportService2.h | 5 |
3 files changed, 3 insertions, 30 deletions
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 1e60c97c5..314beac37 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -1663,11 +1663,6 @@ pref("network.websocket.timeout.open", 20); // close message pref("network.websocket.timeout.close", 20); -// Setting this to true will clamp the websocket timeout value to a minimum -// regardless if there are pending events on the thread. -// This is a workaround for runaway polling, see issue #1695 -pref("network.websocket.timeout.clamped", false); - // the number of seconds of idle read activity to sustain before sending a // ping probe. 0 to disable. pref("network.websocket.timeout.ping.request", 0); diff --git a/netwerk/base/nsSocketTransportService2.cpp b/netwerk/base/nsSocketTransportService2.cpp index 4112d24e9..2a0a0868b 100644 --- a/netwerk/base/nsSocketTransportService2.cpp +++ b/netwerk/base/nsSocketTransportService2.cpp @@ -42,7 +42,6 @@ Atomic<PRThread*, Relaxed> gSocketThread; #define KEEPALIVE_PROBE_COUNT_PREF "network.tcp.keepalive.probe_count" #define SOCKET_LIMIT_TARGET 1000U #define SOCKET_LIMIT_MIN 50U -#define SOCKET_CLAMP_PREF "network.websocket.timeout.clamped" #define BLIP_INTERVAL_PREF "network.activity.blipIntervalMilliseconds" #define MAX_TIME_BETWEEN_TWO_POLLS "network.sts.max_time_for_events_between_two_polls" #define MAX_TIME_FOR_PR_CLOSE_DURING_SHUTDOWN "network.sts.max_time_for_pr_close_during_shutdown" @@ -121,7 +120,6 @@ nsSocketTransportService::nsSocketTransportService() , mKeepaliveEnabledPref(false) , mServingPendingQueue(false) , mMaxTimePerPollIter(100) - , mClampSocketTimeout(false) , mMaxTimeForPrClosePref(PR_SecondsToInterval(5)) , mSleepPhase(false) , mProbedMaxCount(false) @@ -488,11 +486,7 @@ nsSocketTransportService::Poll(PRIntervalTime ts) mPollList[0].out_flags = 0; pollList = mPollList; pollCount = mActiveCount + 1; - pollTimeout = IsSocketTimeoutClamped() ? - PR_MillisecondsToInterval(100) : - pendingEvents ? - PR_INTERVAL_NO_WAIT : - PollTimeout(ts); + pollTimeout = pendingEvents ? PR_INTERVAL_NO_WAIT : PollTimeout(ts); } else { // no pollable event, so busy wait... @@ -501,11 +495,8 @@ nsSocketTransportService::Poll(PRIntervalTime ts) pollList = &mPollList[1]; else pollList = nullptr; - pollTimeout = IsSocketTimeoutClamped() ? - PR_MillisecondsToInterval(25) : - pendingEvents ? - PR_INTERVAL_NO_WAIT : - PR_MillisecondsToInterval(25); + pollTimeout = + pendingEvents ? PR_INTERVAL_NO_WAIT : PR_MillisecondsToInterval(25); } SOCKET_LOG((" timeout = %i milliseconds\n", @@ -564,7 +555,6 @@ nsSocketTransportService::Init() tmpPrefService->AddObserver(KEEPALIVE_RETRY_INTERVAL_PREF, this, false); tmpPrefService->AddObserver(KEEPALIVE_PROBE_COUNT_PREF, this, false); tmpPrefService->AddObserver(MAX_TIME_BETWEEN_TWO_POLLS, this, false); - tmpPrefService->AddObserver(SOCKET_CLAMP_PREF, this, false); tmpPrefService->AddObserver(MAX_TIME_FOR_PR_CLOSE_DURING_SHUTDOWN, this, false); } UpdatePrefs(); @@ -1170,13 +1160,6 @@ nsSocketTransportService::UpdatePrefs() if (NS_SUCCEEDED(rv) && maxTimePref >= 0) { mMaxTimePerPollIter = maxTimePref; } - - bool socketTimeoutClamped = false; - rv = tmpPrefService->GetBoolPref(SOCKET_CLAMP_PREF, - &socketTimeoutClamped); - if (NS_SUCCEEDED(rv)) { - mClampSocketTimeout = socketTimeoutClamped; - } int32_t maxTimeForPrClosePref; rv = tmpPrefService->GetIntPref(MAX_TIME_FOR_PR_CLOSE_DURING_SHUTDOWN, diff --git a/netwerk/base/nsSocketTransportService2.h b/netwerk/base/nsSocketTransportService2.h index c0f9b0075..484dbe098 100644 --- a/netwerk/base/nsSocketTransportService2.h +++ b/netwerk/base/nsSocketTransportService2.h @@ -116,9 +116,6 @@ public: // Returns true if keepalives are enabled in prefs. bool IsKeepaliveEnabled() { return mKeepaliveEnabledPref; } - - // Returns true if socket timeout clamping is enabled in prefs. - bool IsSocketTimeoutClamped() { return mClampSocketTimeout; } PRIntervalTime MaxTimeForPrClosePref() {return mMaxTimeForPrClosePref; } protected: @@ -256,8 +253,6 @@ private: int32_t mKeepaliveProbeCount; // True if TCP keepalive is enabled globally. bool mKeepaliveEnabledPref; - // True if socket polling should be clamped. - bool mClampSocketTimeout; Atomic<bool> mServingPendingQueue; Atomic<int32_t, Relaxed> mMaxTimePerPollIter; |