diff options
Diffstat (limited to 'www/firefox/files/patch-bug1414945')
-rw-r--r-- | www/firefox/files/patch-bug1414945 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/www/firefox/files/patch-bug1414945 b/www/firefox/files/patch-bug1414945 new file mode 100644 index 000000000000..3b57e971dc90 --- /dev/null +++ b/www/firefox/files/patch-bug1414945 @@ -0,0 +1,43 @@ +commit 26740772e0c9 +Author: Philip Chimento <philip.chimento@gmail.com> +Date: Mon Nov 6 15:49:15 2017 -0800 + + Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem + + On Darwin this would cause a race between two static initializers. + + --HG-- + extra : rebase_source : 0547c4018334f7112022f1893c5f36a47dc14501 +--- + js/src/shell/js.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git js/src/shell/js.cpp js/src/shell/js.cpp +index afb4990ecc0f..f8f81446c7ae 100644 +--- js/src/shell/js.cpp ++++ js/src/shell/js.cpp +@@ -150,7 +150,7 @@ static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024; + * Limit the timeout to 30 minutes to prevent an overflow on platfoms + * that represent the time internally in microseconds using 32-bit int. + */ +-static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0); ++static const double MAX_TIMEOUT_SECONDS = 1800.0; + + // SharedArrayBuffer and Atomics are enabled by default (tracking Firefox). + #define SHARED_MEMORY_DEFAULT 1 +@@ -3852,6 +3852,7 @@ Sleep_fn(JSContext* cx, unsigned argc, Value* vp) + } + + duration = TimeDuration::FromSeconds(Max(0.0, t_secs)); ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (duration > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive sleep interval"); + return false; +@@ -4019,6 +4020,7 @@ SetTimeoutValue(JSContext* cx, double t) + JS_ReportErrorASCII(cx, "timeout is not a number"); + return false; + } ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive timeout value"); + return false; |