]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Also invalidate cachecache on prune
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Fri, 6 Dec 2019 13:49:36 +0000 (14:49 +0100)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Wed, 4 Mar 2020 09:27:18 +0000 (10:27 +0100)
pdns/cachecleaner.hh

index 68118f35de607f56b187bb1542702dbf1a7394bd..a29533c20e407c1f59e4d4e2717529e11fc6abe3 100644 (file)
@@ -174,6 +174,7 @@ template <typename S, typename C, typename T> uint64_t pruneMutexCollectionsVect
 
   for (auto& mc : maps) {
     const std::lock_guard<std::mutex> lock(mc.mutex);
+    mc.d_cachecachevalid = false;
     auto& sidx = boost::multi_index::get<S>(mc.d_map);
     uint64_t erased = 0, lookedAt = 0;
     for (auto i = sidx.begin(); i != sidx.end(); lookedAt++) {
@@ -207,6 +208,7 @@ template <typename S, typename C, typename T> uint64_t pruneMutexCollectionsVect
   while (toTrim > 0) {
     for (auto& mc : maps) {
       const std::lock_guard<std::mutex> lock(mc.mutex);
+      mc.d_cachecachevalid = false;
       auto& sidx = boost::multi_index::get<S>(mc.d_map);
       auto i = sidx.begin();
       container.preRemoval(*i);