mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	Use cancelable contexts for cloud provider plugin refreshes (#4226)
This commit uses a cancelable context to spawn goroutines that refresh records from a cloud DNS provider. The Caddy shutdown routine uses the returned cancel function to terminate existing goroutines when a USR1 reload signal is received. Signed-off-by: Matt Kulka <mkulka@parchment.com>
This commit is contained in:
		| @@ -78,7 +78,7 @@ func setup(c *caddy.Controller) error { | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		ctx := context.Background() | ||||
| 		ctx, cancel := context.WithCancel(context.Background()) | ||||
| 		client, err := f(ctx, opt) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| @@ -98,7 +98,7 @@ func setup(c *caddy.Controller) error { | ||||
| 			h.Next = next | ||||
| 			return h | ||||
| 		}) | ||||
| 		c.OnShutdown(func() error { ctx.Done(); return nil }) | ||||
| 		c.OnShutdown(func() error { cancel(); return nil }) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
|   | ||||
		Reference in New Issue
	
	Block a user