self._sockets = {} # fd -> socket object
self._pending_sockets = []
self._started = False
+ self._stopped = False
self.max_buffer_size = max_buffer_size
self.read_chunk_size = read_chunk_size
Requests currently in progress may still continue after the
server is stopped.
"""
+ if self._stopped:
+ return
+ self._stopped = True
for fd, sock in self._sockets.items():
+ assert sock.fileno() == fd
self.io_loop.remove_handler(fd)
sock.close()
from __future__ import absolute_import, division, print_function, with_statement
+
import socket
from tornado import gen
server.stop()
if client is not None:
client.close()
+
+ def test_stop_twice(self):
+ sock, port = bind_unused_port()
+ server = TCPServer()
+ server.add_socket(sock)
+ server.stop()
+ server.stop()
+