summaryrefslogtreecommitdiffstats
path: root/base/message_loop.cc
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 20:16:14 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 20:16:14 +0000
commit4fc20d17c45d997b19e75bc43ca4d0ae8edac82a (patch)
tree784a0f2939de10a8ec48050b9f8c9ebcf21f9be2 /base/message_loop.cc
parentc921d46409a0f1a97c40e99a03491be527df9fc1 (diff)
downloadchromium_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.cc5
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();