summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-13 13:25:28 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-13 13:25:28 +0000
commit5990c471668c59cf4c350c6090d4206978b9170f (patch)
treec1b3b9839e3f19031ab25483058c8de3060b2a7e
parenta4b625dc907ac920156bde3a6512e2dff5a63ffe (diff)
downloadchromium_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.cc2
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();
}