diff --git a/webvirtcloud/wsgi.py b/webvirtcloud/wsgi.py index e6647f0b..79961a9a 100644 --- a/webvirtcloud/wsgi.py +++ b/webvirtcloud/wsgi.py @@ -8,7 +8,12 @@ https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ """ import signal -signal.signal(signal.SIGCHLD, signal.SIG_IGN) +import threading + +# Reap child processes to avoid zombies. Signal handlers can only be set from +# the main thread; runserver imports this module from a worker thread. +if threading.current_thread() is threading.main_thread(): + signal.signal(signal.SIGCHLD, signal.SIG_IGN) import os