diff --git a/deluge/core/daemon.py b/deluge/core/daemon.py index d7c36fd34..5a9294db2 100644 --- a/deluge/core/daemon.py +++ b/deluge/core/daemon.py @@ -156,11 +156,14 @@ class Daemon(object): component.start() try: reactor.run() - except KeyboardInterrupt: - self.shutdown() + finally: + self._shutdown() @export() def shutdown(self, *args, **kwargs): + reactor.callLater(0, reactor.stop) + + def _shutdown(self, *args, **kwargs): try: os.remove(deluge.configmanager.get_config_dir("deluged.pid")) except Exception, e: