diff options
author | satish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-11 10:23:37 +0000 |
---|---|---|
committer | satish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-11 10:23:37 +0000 |
commit | 5820d2f0458c851b18df616ef3aff80cb4f8dba4 (patch) | |
tree | dda803c05296f1bd8ee622c6d708a494373dcd1a /remoting | |
parent | 9acd869ec5621373757a6959310f39e1f5ec3f3d (diff) | |
download | chromium_src-5820d2f0458c851b18df616ef3aff80cb4f8dba4.zip chromium_src-5820d2f0458c851b18df616ef3aff80cb4f8dba4.tar.gz chromium_src-5820d2f0458c851b18df616ef3aff80cb4f8dba4.tar.bz2 |
Revert 68932 - Make members of Singleton<T> private and only visible to the singleton type. This enforces that the Singleton<T> pattern can only be used within classes which want singleton-ness.
As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton<T> from the source file.
There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file.
BUG=65298
TEST=all existing tests should continue to pass.
Review URL: http://codereview.chromium.org/5682008
TBR=satish@chromium.org
Review URL: http://codereview.chromium.org/5721005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68936 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r-- | remoting/base/tracer.cc | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/remoting/base/tracer.cc b/remoting/base/tracer.cc index 3cef3a0..3245887 100644 --- a/remoting/base/tracer.cc +++ b/remoting/base/tracer.cc @@ -8,7 +8,6 @@ #include "base/basictypes.h" #include "base/condition_variable.h" -#include "base/lazy_instance.h" #include "base/message_loop.h" #include "base/rand_util.h" #include "base/ref_counted.h" @@ -89,7 +88,7 @@ class OutputLogger { } private: - friend struct base::DefaultLazyInstanceTraits<OutputLogger>; + friend struct DefaultSingletonTraits<OutputLogger>; ~OutputLogger() { { @@ -109,11 +108,6 @@ class OutputLogger { std::list<TraceBuffer*> buffers_; }; -static base::LazyInstance<OutputLogger> g_output_logger( - base::LINKER_INITIALIZED); -static base::LazyInstance<base::ThreadLocalPointer<TraceContext> > - g_thread_local_trace_context(base::LINKER_INITIALIZED); - } // namespace Tracer::Tracer(const std::string& name, double sample_percent) { @@ -142,7 +136,7 @@ Tracer::~Tracer() { AutoLock l(lock_); if (buffer_.get()) { - g_output_logger.Get().OutputTrace(buffer_.release()); + Singleton<OutputLogger>::get()->OutputTrace(buffer_.release()); } } @@ -164,11 +158,11 @@ void TraceContext::PopTracer() { // static TraceContext* TraceContext::Get() { TraceContext* context = - g_thread_local_trace_context.Get().Get(); + Singleton<base::ThreadLocalPointer<TraceContext> >::get()->Get(); if (context == NULL) { context = new TraceContext(); context->PushTracerInternal(new Tracer("default", 0.0)); - g_thread_local_trace_context.Get().Set(context); + Singleton<base::ThreadLocalPointer<TraceContext> >::get()->Set(context); } return context; } |