Pull request 2048: AG-26594-fix-filtering-race
Squashed commit of the following: commit 9b5b035aa3edfe20cbc26772b8a5c76d81288116 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Oct 20 13:00:29 2023 +0300 filtering: imp code commit 406f4015d80d8b11fbd0aeacfabe686931bbe3fb Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Oct 19 15:04:13 2023 +0300 filtering: fix race
This commit is contained in:
@@ -263,30 +263,6 @@ func assignUniqueFilterID() int64 {
|
||||
return value
|
||||
}
|
||||
|
||||
// Sets up a timer that will be checking for filters updates periodically
|
||||
func (d *DNSFilter) periodicallyRefreshFilters() {
|
||||
const maxInterval = 1 * 60 * 60
|
||||
ivl := 5 // use a dynamically increasing time interval
|
||||
for {
|
||||
isNetErr, ok := false, false
|
||||
if d.conf.FiltersUpdateIntervalHours != 0 {
|
||||
_, isNetErr, ok = d.tryRefreshFilters(true, true, false)
|
||||
if ok && !isNetErr {
|
||||
ivl = maxInterval
|
||||
}
|
||||
}
|
||||
|
||||
if isNetErr {
|
||||
ivl *= 2
|
||||
if ivl > maxInterval {
|
||||
ivl = maxInterval
|
||||
}
|
||||
}
|
||||
|
||||
time.Sleep(time.Duration(ivl) * time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
// tryRefreshFilters is like [refreshFilters], but backs down if the update is
|
||||
// already going on.
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user