From feee98fc1293f8a5a006ce7556c8f76a6081dbce Mon Sep 17 00:00:00 2001 From: Ben Darnell Date: Sat, 19 May 2018 23:28:45 -0400 Subject: [PATCH] autoreload: Improve autoreload wrapper on windows On platforms without execv(), we must spawn a separate subprocess. This breaks down when an internal autoreload is firing in a wrapped process, since the internal reload raises an exception with the wrapper catches (triggering a second reload and another copy of the process). --- tornado/autoreload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tornado/autoreload.py b/tornado/autoreload.py index 1c8bd88c8..7d69474a3 100644 --- a/tornado/autoreload.py +++ b/tornado/autoreload.py @@ -233,7 +233,7 @@ def _reload(): os.environ.get("PYTHONPATH", "")) if not _has_execv: subprocess.Popen([sys.executable] + argv) - sys.exit(0) + os._exit(0) else: try: os.execv(sys.executable, [sys.executable] + argv) -- 2.47.2