diff options
| author | Shulhan <m.shulhan@gmail.com> | 2019-11-24 23:16:26 +0700 |
|---|---|---|
| committer | Shulhan <m.shulhan@gmail.com> | 2019-11-24 23:18:47 +0700 |
| commit | 91efbcb6918b0789264fe6e4ed5335329ee62715 (patch) | |
| tree | 0e11421517aab67f029195aaec49840d672e3125 /lib/dns/server.go | |
| parent | 8294d33fa6a15636f8e320dbc67f6ed447f77917 (diff) | |
| download | pakakeh.go-91efbcb6918b0789264fe6e4ed5335329ee62715.tar.xz | |
dns: check for nil forwarder
The forwarder could be nil if its not created yet and the its want to be
stopped through "stopper" channel.
Diffstat (limited to 'lib/dns/server.go')
| -rw-r--r-- | lib/dns/server.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/dns/server.go b/lib/dns/server.go index 474ce498..b5b5ee91 100644 --- a/lib/dns/server.go +++ b/lib/dns/server.go @@ -889,7 +889,9 @@ func (srv *Server) runDohForwarder(nameserver string, primaryq, fallbackq chan * log.Printf("dns: reconnect forwarder %s for %s\n", tag, nameserver) out: - forwarder.Close() + if forwarder != nil { + forwarder.Close() + } srv.decForwarder() } srv.fwGroup.Done() @@ -953,7 +955,9 @@ func (srv *Server) runTLSForwarder(nameserver string, primaryq, fallbackq chan * log.Printf("dns: reconnect forwarder %s for %s\n", tag, nameserver) out: - forwarder.Close() + if forwarder != nil { + forwarder.Close() + } srv.decForwarder() } srv.fwGroup.Done() @@ -1075,7 +1079,9 @@ func (srv *Server) runUDPForwarder(remoteAddr string, primaryq, fallbackq chan * log.Printf("dns: reconnect forwarder %s for %s\n", tag, remoteAddr) out: - forwarder.Close() + if forwarder != nil { + forwarder.Close() + } srv.decForwarder() } srv.fwGroup.Done() |
