diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-06 23:08:44 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-06 23:08:44 +0000 |
commit | f1a29a0fc1bd1c2428ba1f9594630e6552ff412f (patch) | |
tree | 95786e5c7986a01940db96029de59c91f5297943 /content/public/renderer | |
parent | 152d4e7db7c84adfa2afd260bf40c28d2defc106 (diff) | |
download | chromium_src-f1a29a0fc1bd1c2428ba1f9594630e6552ff412f.zip chromium_src-f1a29a0fc1bd1c2428ba1f9594630e6552ff412f.tar.gz chromium_src-f1a29a0fc1bd1c2428ba1f9594630e6552ff412f.tar.bz2 |
Rename RenderThread to RenderThreadImpl
BUG=98716
TBR=ananta
Review URL: http://codereview.chromium.org/8171015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104386 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public/renderer')
-rw-r--r-- | content/public/renderer/render_thread.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/content/public/renderer/render_thread.cc b/content/public/renderer/render_thread.cc index 3dc536f..ea04fd2 100644 --- a/content/public/renderer/render_thread.cc +++ b/content/public/renderer/render_thread.cc @@ -5,4 +5,25 @@ #include "content/public/renderer/render_thread.h" #include "base/lazy_instance.h" +#include "base/threading/thread_local.h" +namespace content { + +// Keep the global RenderThread in a TLS slot so it is impossible to access +// incorrectly from the wrong thread. +static base::LazyInstance<base::ThreadLocalPointer<RenderThread> > lazy_tls( + base::LINKER_INITIALIZED); + +RenderThread* RenderThread::Get() { + return lazy_tls.Pointer()->Get(); +} + +RenderThread::RenderThread() { + lazy_tls.Pointer()->Set(this); +} + +RenderThread::~RenderThread() { + lazy_tls.Pointer()->Set(NULL); +} + +} // namespace content |