]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Refresh configuration after `recv` which may have blocked for a long time
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 1 Sep 2025 10:22:06 +0000 (12:22 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 1 Sep 2025 12:13:49 +0000 (14:13 +0200)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
pdns/dnsdistdist/dnsdist.cc

index 2e00169e3f6df81111fe11d47e04b63644d281f2..11e1b9f3b94f41094111e6c7789f3c531602193e 100644 (file)
@@ -792,8 +792,6 @@ void responderThread(std::shared_ptr<DownstreamState> dss)
           break;
         }
 
-        dnsdist::configuration::refreshLocalRuntimeConfiguration();
-
         for (const auto& sockDesc : sockets) {
           /* allocate one more byte so we can detect truncation */
           // NOLINTNEXTLINE(bugprone-use-after-move): resizing a vector has no preconditions so it is valid to do so after moving it
@@ -822,6 +820,7 @@ void responderThread(std::shared_ptr<DownstreamState> dss)
             continue;
           }
 
+          dnsdist::configuration::refreshLocalRuntimeConfiguration();
           if (processResponderPacket(dss, response, std::move(*ids)) && ids->isXSK() && ids->cs->xskInfoResponder) {
 #ifdef HAVE_XSK
             auto& xskInfo = ids->cs->xskInfoResponder;