|
|
|
@ -221,8 +221,12 @@ void DNSServiceResolverImpl::Shutdown() { |
|
|
|
|
dispatch_async_f(queue_, Ref().release(), [](void* thatPtr) { |
|
|
|
|
grpc_core::RefCountedPtr<DNSServiceResolverImpl> that{ |
|
|
|
|
static_cast<DNSServiceResolverImpl*>(thatPtr)}; |
|
|
|
|
grpc_core::MutexLock lock(&that->request_mu_); |
|
|
|
|
for (auto& kv : that->requests_) { |
|
|
|
|
|
|
|
|
|
grpc_core::ReleasableMutexLock lock(&that->request_mu_); |
|
|
|
|
auto requests = std::exchange(that->requests_, {}); |
|
|
|
|
lock.Release(); |
|
|
|
|
|
|
|
|
|
for (auto& kv : requests) { |
|
|
|
|
auto& sdRef = kv.first; |
|
|
|
|
auto& request = kv.second; |
|
|
|
|
GRPC_TRACE_LOG(event_engine_dns, INFO) |
|
|
|
@ -232,7 +236,6 @@ void DNSServiceResolverImpl::Shutdown() { |
|
|
|
|
absl::CancelledError("DNSServiceResolverImpl::Shutdown")); |
|
|
|
|
DNSServiceRefDeallocate(static_cast<DNSServiceRef>(sdRef)); |
|
|
|
|
} |
|
|
|
|
that->requests_.clear(); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|