summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-14 10:23:30 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-14 10:23:30 +0000
commit633c38ef1be4748d09a040e8f261e59df65016ca (patch)
tree6af69be0aabd430619b4d5389ad5f75771efdce8 /net
parenta1e58d9058921dc46424e85b1834c34da7c6868e (diff)
downloadchromium_src-633c38ef1be4748d09a040e8f261e59df65016ca.zip
chromium_src-633c38ef1be4748d09a040e8f261e59df65016ca.tar.gz
chromium_src-633c38ef1be4748d09a040e8f261e59df65016ca.tar.bz2
Move destruction of FilePathWatcherFactory from WatchingFileReader dtor to Cancel()
This addresses flakiness in the unittest. BUG=96042 TEST=./net_unittests --gtest_filter=WatchingFileReaderTest.FilePathWatcherFailures Review URL: http://codereview.chromium.org/7867032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101056 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/dns/watching_file_reader.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/dns/watching_file_reader.cc b/net/dns/watching_file_reader.cc
index b5f9159..633f3aa 100644
--- a/net/dns/watching_file_reader.cc
+++ b/net/dns/watching_file_reader.cc
@@ -47,6 +47,8 @@ void WatchingFileReader::Cancel() {
cancelled_ = true;
// Let go of the watcher to break the reference cycle.
watcher_.reset();
+ // Destroy the non-thread-safe factory now, since dtor is non-thread-safe.
+ factory_.reset();
}
void WatchingFileReader::OnFilePathChanged(const FilePath& path) {
@@ -59,7 +61,9 @@ void WatchingFileReader::OnFilePathError(const FilePath& path) {
RestartWatch();
}
-WatchingFileReader::~WatchingFileReader() {}
+WatchingFileReader::~WatchingFileReader() {
+ DCHECK(cancelled_);
+}
void WatchingFileReader::RescheduleWatch() {
DCHECK(message_loop_->BelongsToCurrentThread());