aboutsummaryrefslogtreecommitdiff
path: root/plugin/forward/persistent.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/forward/persistent.go')
-rw-r--r--plugin/forward/persistent.go9
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
}