From 700e1996c8295cfd084e7f02999e0f24cc5be856 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 27 May 2015 09:16:02 +0530 Subject: [PATCH] Fix stop() not working and preserve a SystemExit --- src/calibre/srv/loop.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/srv/loop.py b/src/calibre/srv/loop.py index 5c4ddb2f84..93fe333d67 100644 --- a/src/calibre/srv/loop.py +++ b/src/calibre/srv/loop.py @@ -334,11 +334,13 @@ class ServerLoop(object): self.ready = True self.log('calibre server listening on', ba) - while True: + while self.ready: try: self.tick() - except (KeyboardInterrupt, SystemExit): + except (KeyboardInterrupt, SystemExit) as e: self.shutdown() + if isinstance(e, SystemExit): + raise break except: self.log.exception('Error in ServerLoop.tick')