diff options
author | apolcyn <apolcyn@google.com> | 2018-10-19 14:00:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-19 14:00:41 -0700 |
commit | cc3f52835ae491a05a069ad11c271fe5b22074d5 (patch) | |
tree | 2f3369b9fd4d0a9043a5807dcefef14af0c2d85b | |
parent | 14a09c4849c15cb07d12b5e0c4cf611b68f3bcba (diff) | |
parent | aa3259c10ecd519f71ba65df91c976af4f735733 (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.cc | 4 |
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>( |