Pull request: 5251-close-ups
Merge in DNS/adguard-home from 5251-close-ups to master Updates #5251. Squashed commit of the following: commit 98a4a9a45ae702df3cf26cab0b28bd83a6556085 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Dec 14 18:31:17 2022 +0300 all: log changes better commit af25803925c15ba2d9b07865c3deb58033006c52 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Dec 14 18:24:42 2022 +0300 all: log changes commit 65bb12d8b6d6bd2e37ee83bc4aca63aa573da63a Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Dec 14 18:15:41 2022 +0300 all: upd dnsproxy commit 24039cd7f9c64ee5d9806e1146dbd1e76c298a20 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Dec 14 17:19:15 2022 +0300 dnsforward: imp code, docs commit a40bbd55267c9904c14b89568408f86ccb3ef6c9 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Wed Dec 14 16:43:10 2022 +0300 dnsforward: log errs instead of return
This commit is contained in:
@@ -570,46 +570,32 @@ func (s *Server) Stop() error {
|
||||
|
||||
// stopLocked stops the DNS server without locking. For internal use only.
|
||||
func (s *Server) stopLocked() (err error) {
|
||||
// TODO(e.burkov, a.garipov): Return critical errors, not just log them.
|
||||
// This will require filtering all the non-critical errors in
|
||||
// [upstream.Upstream] implementations.
|
||||
|
||||
if s.dnsProxy != nil {
|
||||
err = s.dnsProxy.Stop()
|
||||
if err != nil {
|
||||
return fmt.Errorf("closing primary resolvers: %w", err)
|
||||
log.Error("dnsforward: closing primary resolvers: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
var errs []error
|
||||
|
||||
if upsConf := s.internalProxy.UpstreamConfig; upsConf != nil {
|
||||
const action = "closing internal resolvers"
|
||||
|
||||
err = upsConf.Close()
|
||||
if err != nil {
|
||||
if errors.Is(err, net.ErrClosed) {
|
||||
log.Debug("dnsforward: %s: %s", action, err)
|
||||
} else {
|
||||
errs = append(errs, fmt.Errorf("%s: %w", action, err))
|
||||
}
|
||||
log.Error("dnsforward: closing internal resolvers: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
if upsConf := s.localResolvers.UpstreamConfig; upsConf != nil {
|
||||
const action = "closing local resolvers"
|
||||
|
||||
err = upsConf.Close()
|
||||
if err != nil {
|
||||
if errors.Is(err, net.ErrClosed) {
|
||||
log.Debug("dnsforward: %s: %s", action, err)
|
||||
} else {
|
||||
errs = append(errs, fmt.Errorf("%s: %w", action, err))
|
||||
}
|
||||
log.Error("dnsforward: closing local resolvers: %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
if len(errs) > 0 {
|
||||
return errors.List("stopping dns server", errs...)
|
||||
} else {
|
||||
s.isRunning = false
|
||||
}
|
||||
s.isRunning = false
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user