]> git.ipfire.org Git - thirdparty/pdns.git/commit
dnsdist: Explicitly update the configuration thread-local copy
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 17 Jul 2025 15:10:04 +0000 (17:10 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 28 Aug 2025 09:24:55 +0000 (11:24 +0200)
commitf4dd166c31640af5151a85fda94be11a6d907dea
tree687b900c98428af5aa10285f8f29fbda202f532d
parentc632a3c945632d1768a506ff03d5ec0915cc5e66
dnsdist: Explicitly update the configuration thread-local copy

This commits ensures that all DNSdist threads are regularly checking
if there is a new version of the runtime-modifiable configuration and
update their local copy if necessary. Regular accesses to the copy
are now fully read-only, meaning they do not invalidate the current copy.
It prevents the case where a function is invalidating the copy that the
caller is holding, and makes accessing the configuration cheaper.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
(cherry picked from commit c08ba9f1f2fe743c3e05313b2c329446e2e2d1b1)
19 files changed:
pdns/dnsdistdist/dnsdist-async.cc
pdns/dnsdistdist/dnsdist-carbon.cc
pdns/dnsdistdist/dnsdist-configuration.cc
pdns/dnsdistdist/dnsdist-configuration.hh
pdns/dnsdistdist/dnsdist-console.cc
pdns/dnsdistdist/dnsdist-discovery.cc
pdns/dnsdistdist/dnsdist-lua-network.cc
pdns/dnsdistdist/dnsdist-lua.cc
pdns/dnsdistdist/dnsdist-nghttp2.cc
pdns/dnsdistdist/dnsdist-resolver.cc
pdns/dnsdistdist/dnsdist-self-answers.cc
pdns/dnsdistdist/dnsdist-tcp.cc
pdns/dnsdistdist/dnsdist-web.cc
pdns/dnsdistdist/dnsdist-xsk.cc
pdns/dnsdistdist/dnsdist.cc
pdns/dnsdistdist/doh.cc
pdns/dnsdistdist/doh3.cc
pdns/dnsdistdist/doq.cc
pdns/sholder.hh