Index: chromecast/browser/metrics/cast_metrics_service_client.cc |
diff --git a/chromecast/browser/metrics/cast_metrics_service_client.cc b/chromecast/browser/metrics/cast_metrics_service_client.cc |
index 32b4c15130e4bdfcc73da854ac4bc92783b34123..9357a2b843c385ba6dd8d477badf024ea623e6e3 100644 |
--- a/chromecast/browser/metrics/cast_metrics_service_client.cc |
+++ b/chromecast/browser/metrics/cast_metrics_service_client.cc |
@@ -250,6 +250,12 @@ void CastMetricsServiceClient::Finalize() { |
// Set clean_shutdown bit. |
metrics_service_->RecordCompletedSessionEnd(); |
#endif // !defined(OS_ANDROID) |
+ |
+ // Stop metrics service cleanly before destructing CastMetricsServiceClient. |
+#if defined(OS_LINUX) |
lcwu1
2015/01/10 00:36:39
In our case, !OS_ANDROID is equal to OS_LINUX, so
gunsch
2015/01/10 00:42:23
I'd prefer not---RecordCompletedSessionEnd is actu
gfhuang
2015/01/10 00:58:30
Acknowledged.
|
+ external_metrics_.release()->StopAndSelfDestroy(); |
gunsch
2015/01/10 00:31:46
Thought: this mechanic is sort of strange. I think
gfhuang
2015/01/10 00:58:30
Done.
gfhuang
2015/01/10 01:17:30
Note that I have to revert back to use PostTask in
|
+#endif // defined(OS_LINUX) |
+ metrics_service_->Stop(); |
} |
bool CastMetricsServiceClient::IsReportingEnabled() { |