diff options
-rw-r--r-- | chrome/installer/util/google_update_settings.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/installer/util/google_update_settings.cc b/chrome/installer/util/google_update_settings.cc index 5bc3541..c542aac 100644 --- a/chrome/installer/util/google_update_settings.cc +++ b/chrome/installer/util/google_update_settings.cc @@ -9,6 +9,7 @@ #include "base/command_line.h" #include "base/string_number_conversions.h" #include "base/string_util.h" +#include "base/thread_restrictions.h" #include "base/time.h" #include "base/win/registry.h" #include "chrome/common/chrome_switches.h" @@ -21,6 +22,9 @@ using base::win::RegKey; namespace { bool ReadGoogleUpdateStrKey(const wchar_t* const name, std::wstring* value) { + // The registry functions below will end up going to disk. Do this on another + // thread to avoid slowing the IO thread. http://crbug.com/62121 + base::ThreadRestrictions::ScopedAllowIO allow_io; BrowserDistribution* dist = BrowserDistribution::GetDistribution(); std::wstring reg_path = dist->GetStateKey(); RegKey key(HKEY_CURRENT_USER, reg_path.c_str(), KEY_READ); |