1
0
mirror of https://github.com/janeczku/calibre-web synced 2024-12-26 01:50:31 +00:00

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

View File

@ -153,7 +153,7 @@ class WebServer(object):
# The value of __package__ indicates how Python was called. It may # 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 # not exist if a setuptools script is installed as an egg. It may be
# set incorrectly for entry points created with pip on Windows. # 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" os.name == "nt"
and __main__.__package__ == "" and __main__.__package__ == ""
and not os.path.exists(py_script) and not os.path.exists(py_script)
@ -263,7 +263,10 @@ class WebServer(object):
log.info("Performing restart of Calibre-Web") log.info("Performing restart of Calibre-Web")
args = self._get_args_for_reloading() 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 return True
@staticmethod @staticmethod