]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Prevent copies while logging 16746/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 20 Jan 2026 11:32:35 +0000 (12:32 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 20 Jan 2026 11:32:35 +0000 (12:32 +0100)
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
pdns/dnsdistdist/dnsdist-dnsquestion.cc
pdns/dnsdistdist/dnsdist-logging.cc

index cf7e7c656fc904d8beff2eee3e1faf5fd04d0922..21b25210822036d5ef3a18b263ad1d1d4e101de9 100644 (file)
@@ -65,7 +65,7 @@ std::shared_ptr<const Logr::Logger> DNSQuestion::getThisLogger(std::shared_ptr<c
   if (d_logger) {
     return d_logger;
   }
-  return ids.getLogger(parent);
+  return ids.getLogger(std::move(parent));
 }
 
 std::shared_ptr<const Logr::Logger> DNSResponse::getThisLogger(std::shared_ptr<const Logr::Logger> parent) const
@@ -73,7 +73,7 @@ std::shared_ptr<const Logr::Logger> DNSResponse::getThisLogger(std::shared_ptr<c
   if (d_logger) {
     return d_logger;
   }
-  auto logger = DNSQuestion::getThisLogger(parent);
+  auto logger = DNSQuestion::getThisLogger(std::move(parent));
   if (data.size() >= sizeof(dnsheader)) {
     const auto header = getHeader();
     logger = logger->withValues("dns.response.rcode", Logging::Loggable(RCode::to_s(header->rcode)));
@@ -88,7 +88,7 @@ std::shared_ptr<const Logr::Logger> DNSResponse::getThisLogger(std::shared_ptr<c
 
 std::shared_ptr<const Logr::Logger> DNSQuestion::getLogger(std::shared_ptr<const Logr::Logger> parent) const
 {
-  return getThisLogger(parent);
+  return getThisLogger(std::move(parent));
 }
 
 std::shared_ptr<const Logr::Logger> DNSQuestion::getLogger(std::shared_ptr<const Logr::Logger> parent)
@@ -96,6 +96,6 @@ std::shared_ptr<const Logr::Logger> DNSQuestion::getLogger(std::shared_ptr<const
   if (d_logger) {
     return d_logger;
   }
-  d_logger = getThisLogger(parent);
+  d_logger = getThisLogger(std::move(parent));
   return d_logger;
 }
index 29be70378e5c17b54b8c0a9b4a7be0978c6084a0..5fbe6a47a9c56f0ba81ce6de803c36a2c75264be 100644 (file)
@@ -219,7 +219,7 @@ void setup(const std::string& backend)
   }
 
   if (logger) {
-    std::atomic_store_explicit(&s_topLogger, logger, std::memory_order_release);
+    std::atomic_store_explicit(&s_topLogger, std::move(logger), std::memory_order_release);
   }
 }