mirror of
https://github.com/coredns/coredns.git
synced 2026-04-05 11:45:33 -04:00
fix(file): protect Zone.Expired with mutex (#7940)
This commit is contained in:
@@ -140,7 +140,9 @@ Restart:
|
||||
if !retryActive {
|
||||
break
|
||||
}
|
||||
z.Lock()
|
||||
z.Expired = true
|
||||
z.Unlock()
|
||||
|
||||
case <-retryTicker.C:
|
||||
if !retryActive {
|
||||
|
||||
@@ -56,9 +56,12 @@ func NewZone(name, file string) *Zone {
|
||||
func (z *Zone) Copy() *Zone {
|
||||
z1 := NewZone(z.origin, z.file)
|
||||
z1.TransferFrom = z.TransferFrom
|
||||
z1.Expired = z.Expired
|
||||
|
||||
z.RLock()
|
||||
z1.Expired = z.Expired
|
||||
z1.Apex = z.Apex
|
||||
z.RUnlock()
|
||||
|
||||
return z1
|
||||
}
|
||||
|
||||
@@ -66,7 +69,10 @@ func (z *Zone) Copy() *Zone {
|
||||
func (z *Zone) CopyWithoutApex() *Zone {
|
||||
z1 := NewZone(z.origin, z.file)
|
||||
z1.TransferFrom = z.TransferFrom
|
||||
|
||||
z.RLock()
|
||||
z1.Expired = z.Expired
|
||||
z.RUnlock()
|
||||
|
||||
return z1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user