aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBastien Orivel <eijebong@bananium.fr>2018-09-18 21:29:37 +0200
committerBastien Orivel <eijebong@bananium.fr>2018-09-18 23:01:07 +0200
commitc692094225f5fc00f9ae78db0badd0fba672453b (patch)
treef97a450405b109a92f3defb3a7890d4593fde662
parent82e94e3b678f2638d62d1ced613f0555805b24e3 (diff)
downloadservo-c692094225f5fc00f9ae78db0badd0fba672453b.tar.gz
servo-c692094225f5fc00f9ae78db0badd0fba672453b.zip
Try to unlock the global lock in StructuredLogger after reloading logging
This should finally fix all the websockets related failures we've been seeing lately.
-rw-r--r--tests/wpt/metadata/MANIFEST.json2
-rw-r--r--tests/wpt/web-platform-tests/tools/serve/serve.py12
2 files changed, 9 insertions, 5 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 0c1e05dbb22..5a3ffb644d8 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -650026,7 +650026,7 @@
"support"
],
"tools/serve/serve.py": [
- "31a08dbd016752db5925410dbf5435a0e8623981",
+ "104701caf85ba2250d4c844650025517f0d473b6",
"support"
],
"tools/serve/test_functional.py": [
diff --git a/tests/wpt/web-platform-tests/tools/serve/serve.py b/tests/wpt/web-platform-tests/tools/serve/serve.py
index 31a08dbd016..104701caf85 100644
--- a/tests/wpt/web-platform-tests/tools/serve/serve.py
+++ b/tests/wpt/web-platform-tests/tools/serve/serve.py
@@ -19,8 +19,10 @@ from collections import defaultdict, OrderedDict
from multiprocessing import Process, Event
from localpaths import repo_root
+from six.moves import reload_module
from manifest.sourcefile import read_script_metadata, js_meta_re, parse_variants
+from mozlog.structuredlog import StructuredLogger
from wptserve import server as wptserve, handlers
from wptserve import stash
from wptserve import config
@@ -631,9 +633,10 @@ class WebSocketDaemon(object):
def start_ws_server(host, port, paths, routes, bind_address, config, **kwargs):
# Ensure that when we start this in a new process we have the global lock
# in the logging module unlocked
+ reload_module(logging)
try:
- logging._releaseLock()
- except RuntimeError:
+ StructuredLogger._lock.release()
+ except threading.ThreadError:
pass
return WebSocketDaemon(host,
str(port),
@@ -647,9 +650,10 @@ def start_ws_server(host, port, paths, routes, bind_address, config, **kwargs):
def start_wss_server(host, port, paths, routes, bind_address, config, **kwargs):
# Ensure that when we start this in a new process we have the global lock
# in the logging module unlocked
+ reload_module(logging)
try:
- logging._releaseLock()
- except RuntimeError:
+ StructuredLogger._lock.release()
+ except threading.ThreadError:
pass
return WebSocketDaemon(host,
str(port),