]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Ensure that self.io_loop is set in HTTPServer.start(), so that HTTPServer.stop
authorBen Darnell <bdarnell@beaker.local>
Thu, 4 Mar 2010 01:22:48 +0000 (17:22 -0800)
committerBen Darnell <bdarnell@beaker.local>
Thu, 4 Mar 2010 01:22:48 +0000 (17:22 -0800)
can clean up correctly.

tornado/httpserver.py

index 4e5ae76834856273f94cecc9cc879e47e713c1b3..ec95b7f1a049693856e7ef95d95502b5d6d0937d 100644 (file)
@@ -176,15 +176,18 @@ class HTTPServer(object):
             logging.info("Pre-forking %d server processes", num_processes)
             for i in range(num_processes):
                 if os.fork() == 0:
-                    ioloop.IOLoop.instance().add_handler(
+                    self.io_loop = ioloop.IOLoop.instance()
+                    self.io_loop.add_handler(
                         self._socket.fileno(), self._handle_events,
                         ioloop.IOLoop.READ)
                     return
             os.waitpid(-1, 0)
         else:
-            io_loop = self.io_loop or ioloop.IOLoop.instance()
-            io_loop.add_handler(self._socket.fileno(), self._handle_events,
-                                ioloop.IOLoop.READ)
+            if not self.io_loop:
+                self.io_loop = ioloop.IOLoop.instance()
+            self.io_loop.add_handler(self._socket.fileno(),
+                                     self._handle_events,
+                                     ioloop.IOLoop.READ)
 
     def stop(self):
       self.io_loop.remove_handler(self._socket.fileno())
@@ -249,7 +252,7 @@ class HTTPConnection(object):
             connection_header = self._request.headers.get("Connection")
             if self._request.supports_http_1_1():
                 disconnect = connection_header == "close"
-            elif ("Content-Length" in self._request.headers 
+            elif ("Content-Length" in self._request.headers
                     or self._request.method in ("HEAD", "GET")):
                 disconnect = connection_header != "Keep-Alive"
             else: