From 41a1eab2e37355fb0d30888faffd34c353650dbc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Thu, 6 Feb 2025 09:50:00 +0100 Subject: [PATCH] Shorten lock duration in `RemoteLoggerPool::queueData` --- pdns/remote_logger_pool.cc | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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); } -- 2.47.2