From 026b6a4b01777d8458f5cc4df4d7ce3a2e9263ef Mon Sep 17 00:00:00 2001 From: shortcutme Date: Wed, 4 Apr 2018 15:33:25 +0200 Subject: [PATCH] Handle shutdown request properly if not file server is running --- src/Debug/DebugHook.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Debug/DebugHook.py b/src/Debug/DebugHook.py index f9b79f11..c3956eed 100644 --- a/src/Debug/DebugHook.py +++ b/src/Debug/DebugHook.py @@ -10,13 +10,16 @@ last_error = None def shutdown(): print "Shutting down..." - try: - if "file_server" in dir(sys.modules["main"]): - gevent.spawn(sys.modules["main"].file_server.stop) - if "ui_server" in dir(sys.modules["main"]): - gevent.spawn(sys.modules["main"].ui_server.stop) - except Exception, err: - print "Proper shutdown error: %s" % err + if "file_server" in dir(sys.modules["main"]) and sys.modules["main"].file_server.running: + try: + if "file_server" in dir(sys.modules["main"]): + gevent.spawn(sys.modules["main"].file_server.stop) + if "ui_server" in dir(sys.modules["main"]): + gevent.spawn(sys.modules["main"].ui_server.stop) + except Exception, err: + print "Proper shutdown error: %s" % err + sys.exit(0) + else: sys.exit(0) # Store last error, ignore notify, allow manual error logging @@ -94,4 +97,4 @@ if __name__ == "__main__": thread1.kill(exception=Debug.Notify("Worker stopped")) #thread2.throw(Debug.Notify("Throw")) print "killed" - gevent.joinall([thread1,thread2]) \ No newline at end of file + gevent.joinall([thread1,thread2])