diff options
author | Alexander Polcyn <apolcyn@google.com> | 2018-10-17 15:42:47 -0700 |
---|---|---|
committer | Alexander Polcyn <apolcyn@google.com> | 2018-10-19 10:03:03 -0700 |
commit | aa3259c10ecd519f71ba65df91c976af4f735733 (patch) | |
tree | 1fadff591352607beb5459370d55556e9e1cdd34 /src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc | |
parent | 61b542f912507ca6b5389442645e2449b43a63d5 (diff) |
Fix corruption of blocking_resolve_address when ares is used and grpc is restarted
Diffstat (limited to 'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc')
-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>( |