From 68aae8878ff90dd787db55ecc44ee712525ccdc6 Mon Sep 17 00:00:00 2001 From: SaJH Date: Wed, 24 Sep 2025 00:11:31 +0900 Subject: Fixed #36434 -- Preserved unbuffered stdio (-u) in autoreloader child. Signed-off-by: SaJH --- django/utils/autoreload.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'django/utils') diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py index c6716215f5..99812979d7 100644 --- a/django/utils/autoreload.py +++ b/django/utils/autoreload.py @@ -268,6 +268,19 @@ def trigger_reload(filename): def restart_with_reloader(): new_environ = {**os.environ, DJANGO_AUTORELOAD_ENV: "true"} + orig = getattr(sys, "orig_argv", ()) + if any( + (arg == "-u") + or ( + arg.startswith("-") + and not arg.startswith(("--", "-X", "-W")) + and len(arg) > 2 + and arg[1:].isalpha() + and "u" in arg + ) + for arg in orig[1:] + ): + new_environ.setdefault("PYTHONUNBUFFERED", "1") args = get_child_arguments() while True: p = subprocess.run(args, env=new_environ, close_fds=False) -- cgit v1.3