| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/base/host_resolver_impl.h" | 5 #include "net/base/host_resolver_impl.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <Winsock2.h> | 8 #include <Winsock2.h> |
| 9 #elif defined(OS_POSIX) | 9 #elif defined(OS_POSIX) |
| 10 #include <netdb.h> | 10 #include <netdb.h> |
| (...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 629 make_scoped_refptr(new NetLogIntegerParameter( | 629 make_scoped_refptr(new NetLogIntegerParameter( |
| 630 "attempt_number", attempt_number_))); | 630 "attempt_number", attempt_number_))); |
| 631 | 631 |
| 632 // If we don't get the results within a given time, RetryIfNotComplete | 632 // If we don't get the results within a given time, RetryIfNotComplete |
| 633 // will start a new attempt on a different worker thread if none of our | 633 // will start a new attempt on a different worker thread if none of our |
| 634 // outstanding attempts have completed yet. | 634 // outstanding attempts have completed yet. |
| 635 if (attempt_number_ <= params_.max_retry_attempts) { | 635 if (attempt_number_ <= params_.max_retry_attempts) { |
| 636 origin_loop_->PostDelayedTask( | 636 origin_loop_->PostDelayedTask( |
| 637 FROM_HERE, | 637 FROM_HERE, |
| 638 base::Bind(&ProcTask::RetryIfNotComplete, this), | 638 base::Bind(&ProcTask::RetryIfNotComplete, this), |
| 639 params_.unresponsive_delay.InMilliseconds()); | 639 params_.unresponsive_delay); |
| 640 } | 640 } |
| 641 } | 641 } |
| 642 | 642 |
| 643 // WARNING: This code runs inside a worker pool. The shutdown code cannot | 643 // WARNING: This code runs inside a worker pool. The shutdown code cannot |
| 644 // wait for it to finish, so we must be very careful here about using other | 644 // wait for it to finish, so we must be very careful here about using other |
| 645 // objects (like MessageLoops, Singletons, etc). During shutdown these objects | 645 // objects (like MessageLoops, Singletons, etc). During shutdown these objects |
| 646 // may no longer exist. Multiple DoLookups() could be running in parallel, so | 646 // may no longer exist. Multiple DoLookups() could be running in parallel, so |
| 647 // any state inside of |this| must not mutate . | 647 // any state inside of |this| must not mutate . |
| 648 void DoLookup(const base::TimeTicks& start_time, | 648 void DoLookup(const base::TimeTicks& start_time, |
| 649 const uint32 attempt_number) { | 649 const uint32 attempt_number) { |
| (...skipping 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1777 } else { | 1777 } else { |
| 1778 dns_transaction_factory_.reset(); | 1778 dns_transaction_factory_.reset(); |
| 1779 } | 1779 } |
| 1780 // Don't Abort running Jobs unless they were running on DnsTransaction. | 1780 // Don't Abort running Jobs unless they were running on DnsTransaction. |
| 1781 // TODO(szym): This will change once http://crbug.com/114827 is fixed. | 1781 // TODO(szym): This will change once http://crbug.com/114827 is fixed. |
| 1782 if (had_factory) | 1782 if (had_factory) |
| 1783 OnDNSChanged(NetworkChangeNotifier::CHANGE_DNS_SETTINGS); | 1783 OnDNSChanged(NetworkChangeNotifier::CHANGE_DNS_SETTINGS); |
| 1784 } | 1784 } |
| 1785 | 1785 |
| 1786 } // namespace net | 1786 } // namespace net |
| OLD | NEW |