Index: net/base/host_resolver_proc.cc |
=================================================================== |
--- net/base/host_resolver_proc.cc (revision 99692) |
+++ net/base/host_resolver_proc.cc (working copy) |
@@ -8,7 +8,7 @@ |
#include "base/logging.h" |
#include "net/base/address_list.h" |
-#include "net/base/dns_reload_timer.h" |
+#include "net/base/dns_reloader.h" |
#include "net/base/net_errors.h" |
#include "net/base/sys_addrinfo.h" |
@@ -183,22 +183,12 @@ |
// Restrict result set to only this socket type to avoid duplicates. |
hints.ai_socktype = SOCK_STREAM; |
- int err = getaddrinfo(host.c_str(), NULL, &hints, &ai); |
- bool should_retry = false; |
#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ |
!defined(OS_ANDROID) |
- // If we fail, re-initialise the resolver just in case there have been any |
- // changes to /etc/resolv.conf and retry. See http://crbug.com/11380 for info. |
- if (err && DnsReloadTimerHasExpired()) { |
- // When there's no network connection, _res may not be initialized by |
- // getaddrinfo. Therefore, we call res_nclose only when there are ns |
- // entries. |
- if (_res.nscount > 0) |
- res_nclose(&_res); |
- if (!res_ninit(&_res)) |
- should_retry = true; |
- } |
+ DnsReloaderMaybeReload(); |
#endif |
+ int err = getaddrinfo(host.c_str(), NULL, &hints, &ai); |
+ bool should_retry = false; |
// If the lookup was restricted (either by address family, or address |
// detection), and the results where all localhost of a single family, |
// maybe we should retry. There were several bugs related to these |