Fix for infinite creation of subprocesses on restart

This commit is contained in:
Ozzie Isaacs 2023-02-18 13:59:10 +01:00
parent dda20eb912
commit 660d1fb1ff
1 changed files with 5 additions and 2 deletions

View File

@ -153,7 +153,7 @@ class WebServer(object):
# The value of __package__ indicates how Python was called. It may
# not exist if a setuptools script is installed as an egg. It may be
# set incorrectly for entry points created with pip on Windows.
if getattr(__main__, "__package__", None) is None or (
if getattr(__main__, "__package__", "") == "" or (
os.name == "nt"
and __main__.__package__ == ""
and not os.path.exists(py_script)
@ -263,7 +263,10 @@ class WebServer(object):
log.info("Performing restart of Calibre-Web")
args = self._get_args_for_reloading()
subprocess.call(args, close_fds=True) # nosec
if os.environ.get('FLASK_DEBUG'):
subprocess.run(args, close_fds=True) # nosec
else:
subprocess.Popen(args, close_fds=True) # nosec
return True
@staticmethod