From fa3fe47059f60022728a3c803f0aab8650d4f5ab Mon Sep 17 00:00:00 2001 From: Ozzie Isaacs Date: Sat, 18 Feb 2023 13:58:22 +0100 Subject: [PATCH] Fix for infinite process generation on restart --- cps/server.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cps/server.py b/cps/server.py index d737bb1b2..a0c11b6e6 100644 --- a/cps/server.py +++ b/cps/server.py @@ -152,7 +152,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) @@ -262,7 +262,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