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])