From 648b312bcaa775319f3d6e173528526c35e96232 Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Mon, 7 Jul 2008 17:37:55 +0000 Subject: [PATCH] engine.stop() is now always executed when reactor stops --HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%4045 --- scrapy/trunk/scrapy/core/engine.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scrapy/trunk/scrapy/core/engine.py b/scrapy/trunk/scrapy/core/engine.py index 0b9bd26ed..b429a4ca1 100644 --- a/scrapy/trunk/scrapy/core/engine.py +++ b/scrapy/trunk/scrapy/core/engine.py @@ -121,6 +121,7 @@ class ExecutionEngine(object): reactor.listenTCP(*args, **kwargs) self.running = True reactor.run() # blocking call + self.stop() def stop(self): """Stop the execution engine""" @@ -134,7 +135,8 @@ class ExecutionEngine(object): self.tasks = [] for p in [p for p in self.ports if not isinstance(p, tuple)]: p.stopListening() - reactor.stop() + if reactor.running: + reactor.stop() signals.send_catch_log(signal=signals.engine_stopped, sender=self.__class__) def pause(self):