diff --git a/src/calibre/srv/loop.py b/src/calibre/srv/loop.py index 8f72427116..f260c36710 100644 --- a/src/calibre/srv/loop.py +++ b/src/calibre/srv/loop.py @@ -566,6 +566,8 @@ class ServerLoop(object): wait_till = time.time() + self.opts.shutdown_timeout for pool in (self.plugin_pool, self.pool): pool.stop(wait_till) + if pool.workers: + self.log.warn('Failed to shutdown %d workers in %s cleanly' % (len(pool.workers), pool.__class__.__name__)) class EchoLine(Connection): # {{{ diff --git a/src/calibre/srv/tests/loop.py b/src/calibre/srv/tests/loop.py index 5e884431f9..3d8f844393 100644 --- a/src/calibre/srv/tests/loop.py +++ b/src/calibre/srv/tests/loop.py @@ -89,6 +89,7 @@ class LoopTest(BaseTest): with self.assertRaises(socket.timeout): conn.getresponse() self.ae(pool.busy, 1) + server.loop.log.filter_level = server.loop.log.ERROR server.loop.stop() server.join() self.ae(1, sum(int(w.is_alive()) for w in pool.workers))