From 4d5f14986a4aba0cd4017fa7bbf6ce03380379e4 Mon Sep 17 00:00:00 2001 From: Falseen Date: Fri, 17 Feb 2017 01:54:57 +0800 Subject: [PATCH] add tunnel_udp_server.close to local.py and tunnel.py --- shadowsocks/local.py | 4 ++++ shadowsocks/tunnel.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/shadowsocks/local.py b/shadowsocks/local.py index d737e85..5dc8830 100755 --- a/shadowsocks/local.py +++ b/shadowsocks/local.py @@ -51,14 +51,18 @@ def main(): dns_resolver.add_to_loop(loop) tcp_server.add_to_loop(loop) udp_server.add_to_loop(loop) + has_tunnel = False if config["dns_service"]: tunnel_udp_server = get_tunnel_udp_server(config.copy(), dns_resolver) tunnel_udp_server.add_to_loop(loop) + has_tunnel = True def handler(signum, _): logging.warn('received SIGQUIT, doing graceful shutting down..') tcp_server.close(next_tick=True) udp_server.close(next_tick=True) + if has_tunnel: + tunnel_udp_server.close(next_tick=True) signal.signal(getattr(signal, 'SIGQUIT', signal.SIGTERM), handler) def int_handler(signum, _): diff --git a/shadowsocks/tunnel.py b/shadowsocks/tunnel.py index 442f02c..470c90f 100644 --- a/shadowsocks/tunnel.py +++ b/shadowsocks/tunnel.py @@ -63,7 +63,7 @@ def main(): def handler(signum, _): logging.warn('received SIGQUIT, doing graceful shutting down..') #tcp_server.close(next_tick=True) - udp_server.close(next_tick=True) + tunnel_udp_server.close(next_tick=True) signal.signal(getattr(signal, 'SIGQUIT', signal.SIGTERM), handler) def int_handler(signum, _):