mirror of
https://github.com/coredns/coredns.git
synced 2025-11-22 03:42:16 -05:00
fix: fix reload causing secondary plugin goroutine to leak. (#7694)
Signed-off-by: wenxuan70 <t736660416@gmail.com>
This commit is contained in:
@@ -107,7 +107,7 @@ func less(a, b uint32) bool {
|
||||
// and uses the SOA parameters. Every refresh it will check for a new SOA number. If that fails (for all
|
||||
// server) it will retry every retry interval. If the zone failed to transfer before the expire, the zone
|
||||
// will be marked expired.
|
||||
func (z *Zone) Update() error {
|
||||
func (z *Zone) Update(updateShutdown chan bool) error {
|
||||
// If we don't have a SOA, we don't have a zone, wait for it to appear.
|
||||
for z.SOA == nil {
|
||||
time.Sleep(1 * time.Second)
|
||||
@@ -183,6 +183,12 @@ Restart:
|
||||
retryTicker.Stop()
|
||||
expireTicker.Stop()
|
||||
goto Restart
|
||||
|
||||
case <-updateShutdown:
|
||||
refreshTicker.Stop()
|
||||
retryTicker.Stop()
|
||||
expireTicker.Stop()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user