fd instead
This commit is contained in:
parent
5e14119b41
commit
19e2e7422d
1 changed files with 5 additions and 5 deletions
|
@ -1031,8 +1031,7 @@ class TCPRelayHandler(object):
|
|||
if self._user is not None and self._user not in self._server.server_users:
|
||||
self.destroy()
|
||||
return True
|
||||
# order is important
|
||||
if sock == self._remote_sock or sock == self._remote_sock_v6:
|
||||
if fd == self._remote_sock_fd or fd == self._remotev6_sock_fd:
|
||||
if event & eventloop.POLL_ERR:
|
||||
handle = True
|
||||
self._on_remote_error()
|
||||
|
@ -1045,7 +1044,7 @@ class TCPRelayHandler(object):
|
|||
elif event & eventloop.POLL_OUT:
|
||||
handle = True
|
||||
self._on_remote_write()
|
||||
elif sock == self._local_sock:
|
||||
elif fd == self._local_sock_fd:
|
||||
if event & eventloop.POLL_ERR:
|
||||
handle = True
|
||||
self._on_local_error()
|
||||
|
@ -1204,6 +1203,7 @@ class TCPRelay(object):
|
|||
self._config['fast_open'] = False
|
||||
server_socket.listen(config.get('max_connect', 1024))
|
||||
self._server_socket = server_socket
|
||||
self._server_socket_fd = server_socket.fileno()
|
||||
self._stat_counter = stat_counter
|
||||
self._stat_callback = stat_callback
|
||||
|
||||
|
@ -1420,7 +1420,7 @@ class TCPRelay(object):
|
|||
def handle_periodic(self):
|
||||
if self._closed:
|
||||
if self._server_socket:
|
||||
self._eventloop.remove(self._server_socket)
|
||||
self._eventloop.removefd(self._server_socket_fd)
|
||||
self._server_socket.close()
|
||||
self._server_socket = None
|
||||
logging.info('closed TCP port %d', self._listen_port)
|
||||
|
@ -1434,7 +1434,7 @@ class TCPRelay(object):
|
|||
if not next_tick:
|
||||
if self._eventloop:
|
||||
self._eventloop.remove_periodic(self.handle_periodic)
|
||||
self._eventloop.remove(self._server_socket)
|
||||
self._eventloop.removefd(self._server_socket_fd)
|
||||
self._server_socket.close()
|
||||
for handler in list(self._fd_to_handlers.values()):
|
||||
handler.destroy()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue