diff options
author | Bastien Orivel <eijebong@bananium.fr> | 2018-09-18 21:29:37 +0200 |
---|---|---|
committer | Bastien Orivel <eijebong@bananium.fr> | 2018-09-18 23:01:07 +0200 |
commit | c692094225f5fc00f9ae78db0badd0fba672453b (patch) | |
tree | f97a450405b109a92f3defb3a7890d4593fde662 | |
parent | 82e94e3b678f2638d62d1ced613f0555805b24e3 (diff) | |
download | servo-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.json | 2 | ||||
-rw-r--r-- | tests/wpt/web-platform-tests/tools/serve/serve.py | 12 |
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), |