diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-14 10:23:30 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-14 10:23:30 +0000 |
commit | 633c38ef1be4748d09a040e8f261e59df65016ca (patch) | |
tree | 6af69be0aabd430619b4d5389ad5f75771efdce8 | |
parent | a1e58d9058921dc46424e85b1834c34da7c6868e (diff) | |
download | chromium_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
-rw-r--r-- | net/dns/watching_file_reader.cc | 6 |
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()); |