From: Ensar Sarajčić Date: Thu, 6 Feb 2025 08:50:00 +0000 (+0100) Subject: Shorten lock duration in `RemoteLoggerPool::queueData` X-Git-Tag: dnsdist-2.0.0-alpha1~111^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41a1eab2e37355fb0d30888faffd34c353650dbc;p=thirdparty%2Fpdns.git Shorten lock duration in `RemoteLoggerPool::queueData` --- diff --git a/pdns/remote_logger_pool.cc b/pdns/remote_logger_pool.cc index b1b2bde611..8e1c268541 100644 --- a/pdns/remote_logger_pool.cc +++ b/pdns/remote_logger_pool.cc @@ -27,11 +27,14 @@ RemoteLoggerPool::RemoteLoggerPool(std::vectorqueueData(data); - (*pool_it)++; - if (*pool_it == d_pool.end()) { - *pool_it = d_pool.begin(); + std::shared_ptr logger; + { + auto pool_it = d_pool_it.lock(); + logger = **pool_it; + (*pool_it)++; + if (*pool_it == d_pool.end()) { + *pool_it = d_pool.begin(); + } } - return result; + return logger->queueData(data); }