Bug fix: DNS setup failure loop behavior

This commit is contained in:
Quentin McGaw
2021-01-02 23:55:29 +00:00
parent 5dcbe79fa8
commit f04fd845bb

View File

@@ -104,7 +104,11 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup, signalDNSReady fun
var unboundCancel context.CancelFunc = func() {} var unboundCancel context.CancelFunc = func() {}
waitError := make(chan error) waitError := make(chan error)
for ctx.Err() == nil && l.GetSettings().Enabled { for l.GetSettings().Enabled {
if ctx.Err() != nil {
l.logger.Warn("context canceled: exiting loop")
return
}
var err error var err error
unboundCancel, err = l.setupUnbound(ctx, crashed, waitError) unboundCancel, err = l.setupUnbound(ctx, crashed, waitError)
if err != nil { if err != nil {
@@ -113,6 +117,7 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup, signalDNSReady fun
l.useUnencryptedDNS(fallback) l.useUnencryptedDNS(fallback)
} }
l.logAndWait(ctx, err) l.logAndWait(ctx, err)
continue
} }
break break
} }