diff options
Diffstat (limited to 'plugin/forward/persistent.go')
-rw-r--r-- | plugin/forward/persistent.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/plugin/forward/persistent.go b/plugin/forward/persistent.go index 2f488e485..decac412c 100644 --- a/plugin/forward/persistent.go +++ b/plugin/forward/persistent.go @@ -44,7 +44,14 @@ func newTransport(addr string, tlsConfig *tls.Config) *transport { ret: make(chan connErr), stop: make(chan bool), } - go t.connManager() + go func() { + t.connManager() + // if connManager returns it has been stopped. + close(t.stop) + close(t.yield) + close(t.dial) + // close(t.ret) // we can still be dialing and wanting to send back the socket on t.ret + }() return t } |