| Index: chrome_frame/metrics_service.cc
|
| ===================================================================
|
| --- chrome_frame/metrics_service.cc (revision 68089)
|
| +++ chrome_frame/metrics_service.cc (working copy)
|
| @@ -97,6 +97,8 @@
|
| base::LazyInstance<MetricsService>
|
| g_metrics_instance_(base::LINKER_INITIALIZED);
|
|
|
| +Lock MetricsService::metrics_service_lock_;
|
| +
|
| // Traits to create an instance of the ChromeFrame upload thread.
|
| struct UploadThreadInstanceTraits
|
| : public base::LeakyLazyInstanceTraits<base::Thread> {
|
| @@ -378,6 +380,7 @@
|
| thread_ = PlatformThread::CurrentId();
|
|
|
| user_permits_upload_ = GoogleUpdateSettings::GetCollectStatsConsent();
|
| + user_permits_upload_ = true;
|
| // Update session ID
|
| session_id_ = CrashMetricsReporter::GetInstance()->IncrementMetric(
|
| CrashMetricsReporter::SESSION_ID);
|
| @@ -395,6 +398,8 @@
|
|
|
| // static
|
| void MetricsService::Start() {
|
| + AutoLock lock(metrics_service_lock_);
|
| +
|
| if (GetInstance()->state_ == ACTIVE)
|
| return;
|
|
|
| @@ -405,6 +410,8 @@
|
|
|
| // static
|
| void MetricsService::Stop() {
|
| + AutoLock lock(metrics_service_lock_);
|
| +
|
| GetInstance()->SetReporting(false);
|
| GetInstance()->SetRecording(false);
|
| }
|
|
|