Ver código fonte

fix CacheCleanup

Meo597 3 meses atrás
pai
commit
cd4f1cd4a5
1 arquivos alterados com 7 adições e 1 exclusões
  1. 7 1
      app/dns/cache_controller.go

+ 7 - 1
app/dns/cache_controller.go

@@ -46,6 +46,10 @@ func NewCacheController(name string, disableCache bool, serveStale bool, serveEx
 // CacheCleanup clears expired items from cache
 func (c *CacheController) CacheCleanup() error {
 	now := time.Now()
+	if c.serveStale && c.serveExpiredTTL != 0 {
+		now = now.Add(time.Duration(c.serveExpiredTTL) * time.Second)
+	}
+
 	c.Lock()
 	defer c.Unlock()
 
@@ -115,7 +119,9 @@ func (c *CacheController) updateIP(req *dnsRequest, ipRec *IPRecord) {
 	}
 
 	c.Unlock()
-	common.Must(c.cacheCleanup.Start())
+	if !c.serveStale || c.serveExpiredTTL != 0 {
+		common.Must(c.cacheCleanup.Start())
+	}
 }
 
 func (c *CacheController) findIPsForDomain(domain string, option dns_feature.IPOption) ([]net.IP, int32, error) {