diff --git a/dns.go b/dns.go index 9a9b0c07d..5546f1156 100644 --- a/dns.go +++ b/dns.go @@ -52,10 +52,9 @@ func (d *syncDNSClient) Set(client DNSClient) { return } - d.Close() - d.Lock() defer d.Unlock() + common.Close(d.DNSClient) d.DNSClient = client } diff --git a/network.go b/network.go index 3b1b721a5..3e36624b0 100644 --- a/network.go +++ b/network.go @@ -88,11 +88,10 @@ func (m *syncInboundHandlerManager) Set(manager InboundHandlerManager) { return } - m.Close() - m.Lock() defer m.Unlock() + common.Close(m.InboundHandlerManager) m.InboundHandlerManager = manager } @@ -171,9 +170,9 @@ func (m *syncOutboundHandlerManager) Set(manager OutboundHandlerManager) { return } - m.Close() m.Lock() defer m.Unlock() + common.Close(m.OutboundHandlerManager) m.OutboundHandlerManager = manager } diff --git a/policy.go b/policy.go index 4cb9b3979..52d84a8a7 100644 --- a/policy.go +++ b/policy.go @@ -87,10 +87,9 @@ func (m *syncPolicyManager) Set(manager PolicyManager) { return } - m.Close() - m.Lock() defer m.Unlock() + common.Close(m.PolicyManager) m.PolicyManager = manager } diff --git a/router.go b/router.go index bd1e2d814..6cbb3e792 100644 --- a/router.go +++ b/router.go @@ -58,10 +58,10 @@ func (d *syncDispatcher) Set(disp Dispatcher) { return } - d.Close() d.Lock() defer d.Unlock() + common.Close(d.Dispatcher) d.Dispatcher = disp } @@ -117,9 +117,9 @@ func (r *syncRouter) Set(router Router) { return } - r.Close() r.Lock() defer r.Unlock() + common.Close(r.Router) r.Router = router }