# HG changeset patch # User Ludovic Chabant # Date 1420084240 28800 # Node ID 232989a6df367f6db4fb55e3f2ded1f863da238d # Parent 1187739e5a193e8f5b0db1741b93f9ec5b472e31 Add support for KeyboardInterrupt in bake process. diff -r 1187739e5a19 -r 232989a6df36 piecrust/baking/baker.py --- a/piecrust/baking/baker.py Wed Dec 31 16:56:55 2014 -0800 +++ b/piecrust/baking/baker.py Wed Dec 31 19:50:40 2014 -0800 @@ -301,8 +301,18 @@ def _waitOnWorkerPool(self, pool, abort): for w in pool: w.start() - for w in pool: - w.join() + + try: + for w in pool: + w.join() + except KeyboardInterrupt: + logger.warning("Bake aborted by user... " + "waiting for workers to stop.") + abort.set() + for w in pool: + w.join() + raise + if abort.is_set(): excs = [w.abort_exception for w in pool if w.abort_exception is not None]