Graceful shutdown; close #179

This commit is contained in:
clowwindy
2014-09-12 00:51:25 +08:00
parent 964d7613cb
commit 327c70e353
7 changed files with 46 additions and 22 deletions

View File

@ -631,7 +631,15 @@ class TCPRelay(object):
if now - self._last_time > TIMEOUT_PRECISION:
self._sweep_timeout()
self._last_time = now
if self._closed:
if self._server_socket:
self._eventloop.remove(self._server_socket)
self._server_socket.close()
self._server_socket = None
if not self._fd_to_handlers:
self._eventloop.remove_handler(self._handle_events)
def close(self):
def close(self, next_tick=False):
self._closed = True
self._server_socket.close()
if not next_tick:
self._server_socket.close()