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

@ -260,12 +260,17 @@ class UDPRelay(object):
logging.error('UDP client_socket err')
self._handle_client(sock)
now = time.time()
if now - self._last_time > 3.5:
if now - self._last_time > 3:
self._cache.sweep()
if now - self._last_time > 7:
self._client_fd_to_server_addr.sweep()
self._last_time = now
if self._closed:
self._server_socket.close()
for sock in self._sockets:
sock.close()
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()