diff --git a/openerp/service/workers.py b/openerp/service/workers.py index 9264ef12996..b275f5cd8cd 100644 --- a/openerp/service/workers.py +++ b/openerp/service/workers.py @@ -186,6 +186,11 @@ class Multicorn(object): for pid in self.workers.keys(): self.worker_kill(pid, signal.SIGINT) while self.workers and time.time() < limit: + try: + self.process_signals() + except KeyboardInterrupt: + _logger.info("Forced shutdown.") + break self.process_zombie() time.sleep(0.1) else: