aboutsummaryrefslogtreecommitdiff
path: root/src/common/dns_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/dns_utils.cpp')
-rw-r--r--src/common/dns_utils.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/common/dns_utils.cpp b/src/common/dns_utils.cpp
index 711a8ba30..1a1155c7c 100644
--- a/src/common/dns_utils.cpp
+++ b/src/common/dns_utils.cpp
@@ -32,9 +32,9 @@
#include <stdlib.h>
#include "include_base_utils.h"
+#include "common/threadpool.h"
#include <random>
#include <boost/thread/mutex.hpp>
-#include <boost/thread/thread.hpp>
#include <boost/algorithm/string/join.hpp>
#include <boost/optional.hpp>
using namespace epee;
@@ -293,9 +293,8 @@ DNSResolver::DNSResolver() : m_data(new DNSResolverData())
ub_ctx_delete(m_data->m_ub_context);
m_data->m_ub_context = ub_ctx_create();
add_anchors(m_data->m_ub_context);
- dns_public_addr = tools::dns_utils::parse_dns_public(DNS_PUBLIC);
- for (const auto &ip: dns_public_addr)
- ub_ctx_set_fwd(m_data->m_ub_context, string_copy(ip.c_str()));
+ for (const auto &ip: DEFAULT_DNS_PUBLIC_ADDR)
+ ub_ctx_set_fwd(m_data->m_ub_context, string_copy(ip));
ub_ctx_set_option(m_data->m_ub_context, string_copy("do-udp:"), string_copy("no"));
ub_ctx_set_option(m_data->m_ub_context, string_copy("do-tcp:"), string_copy("yes"));
}
@@ -524,16 +523,16 @@ bool load_txt_records_from_dns(std::vector<std::string> &good_records, const std
size_t first_index = dis(gen);
// send all requests in parallel
- std::vector<boost::thread> threads(dns_urls.size());
std::deque<bool> avail(dns_urls.size(), false), valid(dns_urls.size(), false);
+ tools::threadpool& tpool = tools::threadpool::getInstance();
+ tools::threadpool::waiter waiter;
for (size_t n = 0; n < dns_urls.size(); ++n)
{
- threads[n] = boost::thread([n, dns_urls, &records, &avail, &valid](){
+ tpool.submit(&waiter,[n, dns_urls, &records, &avail, &valid](){
records[n] = tools::DNSResolver::instance().get_txt_record(dns_urls[n], avail[n], valid[n]);
});
}
- for (size_t n = 0; n < dns_urls.size(); ++n)
- threads[n].join();
+ waiter.wait(&tpool);
size_t cur_index = first_index;
do