diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-13 13:25:28 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-13 13:25:28 +0000 |
commit | 5990c471668c59cf4c350c6090d4206978b9170f (patch) | |
tree | c1b3b9839e3f19031ab25483058c8de3060b2a7e | |
parent | a4b625dc907ac920156bde3a6512e2dff5a63ffe (diff) | |
download | chromium_src-5990c471668c59cf4c350c6090d4206978b9170f.zip chromium_src-5990c471668c59cf4c350c6090d4206978b9170f.tar.gz chromium_src-5990c471668c59cf4c350c6090d4206978b9170f.tar.bz2 |
Fix a race on AsynchronousPolicyLoader destruction.
Move the delegate_ reset to the file thread in order to avoid racing
against incoming file change events.
BUG=None
TEST=Memory bots still happy.
Review URL: http://codereview.chromium.org/7754031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100907 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/policy/asynchronous_policy_loader.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome/browser/policy/asynchronous_policy_loader.cc b/chrome/browser/policy/asynchronous_policy_loader.cc index fb3d2ed..c87b906 100644 --- a/chrome/browser/policy/asynchronous_policy_loader.cc +++ b/chrome/browser/policy/asynchronous_policy_loader.cc @@ -37,7 +37,6 @@ void AsynchronousPolicyLoader::Init() { void AsynchronousPolicyLoader::Stop() { if (!stopped_) { stopped_ = true; - delegate_.reset(); FOR_EACH_OBSERVER(ConfigurationPolicyProvider::Observer, observer_list_, OnProviderGoingAway()); @@ -131,6 +130,7 @@ void AsynchronousPolicyLoader::InitOnFileThread() { } void AsynchronousPolicyLoader::StopOnFileThread() { + delegate_.reset(); CancelReloadTask(); } |