From 3bfbaa408ce7e82b3fd8712fa4c250d5e4705157 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Wed, 23 Jul 2025 10:08:17 -0500 Subject: [PATCH] lock dns only --- repertory/librepertory/src/comm/curl/dns_cache.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/repertory/librepertory/src/comm/curl/dns_cache.cpp b/repertory/librepertory/src/comm/curl/dns_cache.cpp index 0ac1c3be..bd9bb0f5 100644 --- a/repertory/librepertory/src/comm/curl/dns_cache.cpp +++ b/repertory/librepertory/src/comm/curl/dns_cache.cpp @@ -43,8 +43,12 @@ void dns_cache::init() { cache_.reset(cache); } -void dns_cache::lock_callback(CURL * /* curl */, curl_lock_data /* data */, +void dns_cache::lock_callback(CURL * /* curl */, curl_lock_data data, curl_lock_access /* access */, void * /* ptr */) { + if (data != CURL_LOCK_DATA_DNS) { + return; + } + lock_->lock(); } @@ -52,9 +56,13 @@ void dns_cache::set_cache(CURL *curl) { curl_easy_setopt(curl, CURLOPT_SHARE, cache_.get()); } -void dns_cache::unlock_callback(CURL * /* curl */, curl_lock_data /* data */, +void dns_cache::unlock_callback(CURL * /* curl */, curl_lock_data data, curl_lock_access /* access */, void * /* ptr */) { + if (data != CURL_LOCK_DATA_DNS) { + return; + } + lock_->unlock(); } } // namespace repertory