shill: Fix crash in ScopeLogger at termination.

BUG=chromium-os:29876
TEST=Verify that shill does not crash at termination.

Change-Id: I82e32b6cb29d69ea1f199407a12a6c7575133d44
Reviewed-on: https://gerrit.chromium.org/gerrit/20884
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
diff --git a/scope_logger.cc b/scope_logger.cc
index 119b105..8da0b3f 100644
--- a/scope_logger.cc
+++ b/scope_logger.cc
@@ -52,7 +52,12 @@
 COMPILE_ASSERT(arraysize(kScopeNames) == ScopeLogger::kNumScopes,
                scope_tags_does_not_have_expected_number_of_strings);
 
-base::LazyInstance<ScopeLogger> g_scope_logger = LAZY_INSTANCE_INITIALIZER;
+// ScopeLogger needs to be a 'leaky' singleton as it needs to survive to
+// handle logging till the very end of the shill process. Making ScopeLogger
+// leaky is fine as it does not need to clean up or release any resource at
+// destruction.
+base::LazyInstance<ScopeLogger>::Leaky g_scope_logger =
+    LAZY_INSTANCE_INITIALIZER;
 
 }  // namespace