diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-16 19:42:46 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-16 19:42:46 +0000 |
commit | 2152600d98b5c802fec1caba84ae9d0cb16af235 (patch) | |
tree | 37be46839818f20cfefecf2a284e9352ead55bb8 /net/base/host_resolver_proc.h | |
parent | a643d62e025c82ad920117e833508f5def0d1deb (diff) | |
download | chromium_src-2152600d98b5c802fec1caba84ae9d0cb16af235.zip chromium_src-2152600d98b5c802fec1caba84ae9d0cb16af235.tar.gz chromium_src-2152600d98b5c802fec1caba84ae9d0cb16af235.tar.bz2 |
Log the OS error that getaddrinfo() failed with.
- Display it on the about:net-internals page
- Collect it in the histogram Net.OSErrorsForGetAddrinfo.
Review URL: http://codereview.chromium.org/2134004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47386 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_resolver_proc.h')
-rw-r--r-- | net/base/host_resolver_proc.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/net/base/host_resolver_proc.h b/net/base/host_resolver_proc.h index 6f32280..3a8adc7 100644 --- a/net/base/host_resolver_proc.h +++ b/net/base/host_resolver_proc.h @@ -27,11 +27,13 @@ class HostResolverProc : public base::RefCountedThreadSafe<HostResolverProc> { // Resolves |host| to an address list, restricting the results to addresses // in |address_family|. If successful returns OK and fills |addrlist| with - // a list of socket addresses. Otherwise returns a network error code. + // a list of socket addresses. Otherwise returns a network error code, and + // fills |os_error| with a more specific error if it was non-NULL. virtual int Resolve(const std::string& host, AddressFamily address_family, HostResolverFlags host_resolver_flags, - AddressList* addrlist) = 0; + AddressList* addrlist, + int* os_error) = 0; protected: friend class base::RefCountedThreadSafe<HostResolverProc>; @@ -42,7 +44,8 @@ class HostResolverProc : public base::RefCountedThreadSafe<HostResolverProc> { int ResolveUsingPrevious(const std::string& host, AddressFamily address_family, HostResolverFlags host_resolver_flags, - AddressList* addrlist); + AddressList* addrlist, + int* os_error); private: friend class HostResolverImpl; @@ -77,11 +80,13 @@ class HostResolverProc : public base::RefCountedThreadSafe<HostResolverProc> { // Resolves |host| to an address list, using the system's default host resolver. // (i.e. this calls out to getaddrinfo()). If successful returns OK and fills // |addrlist| with a list of socket addresses. Otherwise returns a -// network error code. +// network error code, and fills |os_error| with a more specific errir if it +// was non-NULL. int SystemHostResolverProc(const std::string& host, AddressFamily address_family, HostResolverFlags host_resolver_flags, - AddressList* addrlist); + AddressList* addrlist, + int* os_error); } // namespace net |