OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 #ifndef NET_BASE_DNS_RELOAD_TIMER_H_ | 5 #ifndef NET_BASE_DNS_RELOAD_TIMER_H_ |
6 #define NET_BASE_DNS_RELOAD_TIMER_H_ | 6 #define NET_BASE_DNS_RELOAD_TIMER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 | 10 |
11 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) | 11 #define WATCH_RESOLV_CONF \ |
| 12 defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) |
| 13 |
| 14 #if WATCH_RESOLV_CONF |
| 15 namespace base { class Thread; } |
| 16 |
12 namespace net { | 17 namespace net { |
13 | 18 |
14 // DnsReloadTimerExpired tests the thread local DNS reload timer and, if it has | 19 // DnsReloadTimerExpired tests the thread local DNS reload timer and, if it has |
15 // expired, returns true and resets the timer. See comments in | 20 // expired, returns true and resets the timer. See comments in |
16 // host_resolver_proc.cc for details. | 21 // host_resolver_proc.cc for details. |
17 bool DnsReloadTimerHasExpired(); | 22 bool DnsReloadTimerHasExpired(); |
18 | 23 |
| 24 // Returns true if a change to resolver configuration has been detected. |
| 25 bool ResolvConfUpdated(); |
| 26 |
| 27 // Installs a FileWatch on system's resolver config (/etc/resolv.conf). |
| 28 // FileWatch has to run in file thread, so all this does is schedule a task to |
| 29 // run on file_thread. |
| 30 void InitResolvConfWatcher(base::Thread* file_thread); |
| 31 |
19 } // namespace net | 32 } // namespace net |
20 #endif | 33 #endif |
21 | 34 |
22 #endif // NET_BASE_DNS_RELOAD_TIMER_H_ | 35 #endif // NET_BASE_DNS_RELOAD_TIMER_H_ |
OLD | NEW |