diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 20:16:14 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 20:16:14 +0000 |
commit | 4fc20d17c45d997b19e75bc43ca4d0ae8edac82a (patch) | |
tree | 784a0f2939de10a8ec48050b9f8c9ebcf21f9be2 /base/message_loop.cc | |
parent | c921d46409a0f1a97c40e99a03491be527df9fc1 (diff) | |
download | chromium_src-4fc20d17c45d997b19e75bc43ca4d0ae8edac82a.zip chromium_src-4fc20d17c45d997b19e75bc43ca4d0ae8edac82a.tar.gz chromium_src-4fc20d17c45d997b19e75bc43ca4d0ae8edac82a.tar.bz2 |
Add base::ThreadTaskRunnerHandler class.
The class will be used to hold a reference to the thread's task runner.
Review URL: https://chromiumcodereview.appspot.com/10380016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136110 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_loop.cc')
-rw-r--r-- | base/message_loop.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/base/message_loop.cc b/base/message_loop.cc index f60bf69..dd8ba3a 100644 --- a/base/message_loop.cc +++ b/base/message_loop.cc @@ -17,6 +17,7 @@ #include "base/message_pump_default.h" #include "base/metrics/histogram.h" #include "base/third_party/dynamic_annotations/dynamic_annotations.h" +#include "base/thread_task_runner_handle.h" #include "base/threading/thread_local.h" #include "base/time.h" #include "base/tracked_objects.h" @@ -139,6 +140,8 @@ MessageLoop::MessageLoop(Type type) lazy_tls_ptr.Pointer()->Set(this); message_loop_proxy_ = new base::MessageLoopProxyImpl(); + thread_task_runner_handle_.reset( + new base::ThreadTaskRunnerHandle(message_loop_proxy_)); // TODO(rvargas): Get rid of the OS guards. #if defined(OS_WIN) @@ -198,6 +201,8 @@ MessageLoop::~MessageLoop() { FOR_EACH_OBSERVER(DestructionObserver, destruction_observers_, WillDestroyCurrentMessageLoop()); + thread_task_runner_handle_.reset(); + // Tell the message_loop_proxy that we are dying. static_cast<base::MessageLoopProxyImpl*>(message_loop_proxy_.get())-> WillDestroyCurrentMessageLoop(); |