mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-03 18:53:13 -05: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,16 @@ func (h *Azure) Run(ctx context.Context) error {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	go func() {
 | 
			
		||||
		delay := 1 * time.Minute
 | 
			
		||||
		timer := time.NewTimer(delay)
 | 
			
		||||
		defer timer.Stop()
 | 
			
		||||
		for {
 | 
			
		||||
			timer.Reset(delay)
 | 
			
		||||
			select {
 | 
			
		||||
			case <-ctx.Done():
 | 
			
		||||
				log.Debugf("Breaking out of Azure update loop for %v: %v", h.zoneNames, ctx.Err())
 | 
			
		||||
				return
 | 
			
		||||
			case <-time.After(1 * time.Minute):
 | 
			
		||||
			case <-timer.C:
 | 
			
		||||
				if err := h.updateZones(ctx); err != nil && ctx.Err() == nil {
 | 
			
		||||
					log.Errorf("Failed to update zones %v: %v", h.zoneNames, err)
 | 
			
		||||
				}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user