mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 16:24:19 -04:00
use tickers instead of time.After to avoid memory leak (#5220)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
This commit is contained in:
@@ -84,12 +84,15 @@ func (h *Route53) Run(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
go func() {
|
||||
timer := time.NewTimer(h.refresh)
|
||||
defer timer.Stop()
|
||||
for {
|
||||
timer.Reset(h.refresh)
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
log.Debugf("Breaking out of Route53 update loop for %v: %v", h.zoneNames, ctx.Err())
|
||||
return
|
||||
case <-time.After(h.refresh):
|
||||
case <-timer.C:
|
||||
if err := h.updateZones(ctx); err != nil && ctx.Err() == nil /* Don't log error if ctx expired. */ {
|
||||
log.Errorf("Failed to update zones %v: %v", h.zoneNames, err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user