diff --git a/lib/redis/redisconnection.cpp b/lib/redis/redisconnection.cpp index 7bf477980..0849bce1b 100644 --- a/lib/redis/redisconnection.cpp +++ b/lib/redis/redisconnection.cpp @@ -189,11 +189,9 @@ void RedisConnection::ExecuteQuery(const std::vector& query, redisCallba void RedisConnection::ExecuteQueries(const std::vector >& queries, redisCallbackFn *fn, void *privdata) { - for (const auto& query : queries) { - m_RedisConnectionWorkQueue.Enqueue([this, query, fn, privdata]() { - SendMessageInternal(query, fn, privdata); - }); - } + m_RedisConnectionWorkQueue.Enqueue([this, queries, fn, privdata]() { + SendMessagesInternal(queries, fn, privdata); + }); } void RedisConnection::SendMessageInternal(const std::vector& query, redisCallbackFn *fn, void *privdata) @@ -248,3 +246,10 @@ void RedisConnection::SendMessageInternal(const std::vector& query, redi ); } } + +void RedisConnection::SendMessagesInternal(const std::vector>& queries, redisCallbackFn *fn, void *privdata) +{ + for (const auto& query : queries) { + SendMessageInternal(query, fn, privdata); + } +} diff --git a/lib/redis/redisconnection.hpp b/lib/redis/redisconnection.hpp index 3dee85e93..4f1af40f7 100644 --- a/lib/redis/redisconnection.hpp +++ b/lib/redis/redisconnection.hpp @@ -69,6 +69,7 @@ namespace icinga static void StaticInitialize(); void SendMessageInternal(const std::vector& query, redisCallbackFn *fn, void *privdata); + void SendMessagesInternal(const std::vector>& queries, redisCallbackFn *fn, void *privdata); void AssertOnWorkQueue();