From: Stiletto Date: Mon, 30 Jul 2012 20:25:04 +0000 (+0400) Subject: Fixed shutdown sequence in twisted reactor X-Git-Tag: v2.4.0~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=53738a9c1db954496c57671eb1489d57d55c4727;p=thirdparty%2Ftornado.git Fixed shutdown sequence in twisted reactor --- diff --git a/tornado/platform/twisted.py b/tornado/platform/twisted.py index 6474a4788..07ca8c58e 100644 --- a/tornado/platform/twisted.py +++ b/tornado/platform/twisted.py @@ -127,6 +127,7 @@ class TornadoReactor(PosixReactorBase): self._fds = {} # a map of fd to a (reader, writer) tuple self._delayedCalls = {} PosixReactorBase.__init__(self) + self.addSystemEventTrigger('during', 'shutdown', self.crash) # IOLoop.start() bypasses some of the reactor initialization. # Fire off the necessary events if they weren't already triggered @@ -280,7 +281,7 @@ class TornadoReactor(PosixReactorBase): # IOLoop.start() instead of Reactor.run(). def stop(self): PosixReactorBase.stop(self) - self._io_loop.stop() + self.fireSystemEvent("shutdown") def crash(self): PosixReactorBase.crash(self) @@ -291,8 +292,6 @@ class TornadoReactor(PosixReactorBase): def mainLoop(self): self._io_loop.start() - if self._stopped: - self.fireSystemEvent("shutdown") TornadoReactor = implementer(IReactorTime, IReactorFDSet)(TornadoReactor)