aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar apolcyn <apolcyn@google.com>2018-10-19 14:00:41 -0700
committerGravatar GitHub <noreply@github.com>2018-10-19 14:00:41 -0700
commitcc3f52835ae491a05a069ad11c271fe5b22074d5 (patch)
tree2f3369b9fd4d0a9043a5807dcefef14af0c2d85b
parent14a09c4849c15cb07d12b5e0c4cf611b68f3bcba (diff)
parentaa3259c10ecd519f71ba65df91c976af4f735733 (diff)
Merge pull request #16917 from apolcyn/fix_init_shutdown_init
Fix corruption of ares blocking_resolve_address when grpc is restarted
-rw-r--r--src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
index dfa52867d8..c2a4d42203 100644
--- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
+++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@@ -473,7 +473,9 @@ void grpc_resolver_dns_ares_init() {
GRPC_LOG_IF_ERROR("ares_library_init() failed", error);
return;
}
- default_resolver = grpc_resolve_address_impl;
+ if (default_resolver == nullptr) {
+ default_resolver = grpc_resolve_address_impl;
+ }
grpc_set_resolver_impl(&ares_resolver);
grpc_core::ResolverRegistry::Builder::RegisterResolverFactory(
grpc_core::UniquePtr<grpc_core::ResolverFactory>(