From 6adf03cdc516a9236aac6dbd6f289750761b8d24 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Tue, 14 Jun 2022 21:23:23 +0200 Subject: Second thread pool for IO --- src/common/dns_utils.cpp | 2 +- src/common/threadpool.h | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/common') diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp index 6ab6ff4fe..7bb1781d4 100644 --- a/src/common/dns_utils.cpp +++ b/src/common/dns_utils.cpp @@ -521,7 +521,7 @@ bool load_txt_records_from_dns(std::vector &good_records, const std // send all requests in parallel std::deque avail(dns_urls.size(), false), valid(dns_urls.size(), false); - tools::threadpool& tpool = tools::threadpool::getInstance(); + tools::threadpool& tpool = tools::threadpool::getInstanceForIO(); tools::threadpool::waiter waiter(tpool); for (size_t n = 0; n < dns_urls.size(); ++n) { diff --git a/src/common/threadpool.h b/src/common/threadpool.h index ce1bc5799..53421e18b 100644 --- a/src/common/threadpool.h +++ b/src/common/threadpool.h @@ -42,10 +42,14 @@ namespace tools class threadpool { public: - static threadpool& getInstance() { + static threadpool& getInstanceForCompute() { static threadpool instance; return instance; } + static threadpool& getInstanceForIO() { + static threadpool instance(8); + return instance; + } static threadpool *getNewForUnitTests(unsigned max_threads = 0) { return new threadpool(max_threads); } -- cgit v1.2.3