From f6671c5d784e744f18bbc9e06dc4fcdb9e10065b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleksi=20H=C3=A4kli?= Date: Wed, 28 Dec 2016 15:04:09 +0200 Subject: [PATCH] Fixed #27647 -- Fixed Windows segmentation fault in runserver autoreload. --- AUTHORS | 1 + django/utils/autoreload.py | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AUTHORS b/AUTHORS index efd6071c6c..ff17d1a418 100644 --- a/AUTHORS +++ b/AUTHORS @@ -27,6 +27,7 @@ answer newbie questions, and generally made Django that much better: Albert Wang Alcides Fonseca Aleksandra Sendecka + Aleksi Häkli Alexander Dutton Alexander Myodov Alex Couper diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py index 4fba0fe1a0..e7c9acbaea 100644 --- a/django/utils/autoreload.py +++ b/django/utils/autoreload.py @@ -30,6 +30,7 @@ import os import signal +import subprocess import sys import time import traceback @@ -283,11 +284,9 @@ def reloader_thread(): def restart_with_reloader(): while True: args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv - if sys.platform == "win32": - args = ['"%s"' % arg for arg in args] new_environ = os.environ.copy() new_environ["RUN_MAIN"] = 'true' - exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ) + exit_code = subprocess.call(args, env=new_environ) if exit_code != 3: return exit_code