diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-15 23:36:30 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-15 23:36:30 +0000 |
commit | dd1f9fe143f20d4be760c44c974351e8c9aaca6d (patch) | |
tree | 2cc832d55557cb59e5e8c759033e246681019dee /base/threading/worker_pool_posix.cc | |
parent | f371ee77f051996ea398b0076afc8852d4243d04 (diff) | |
download | chromium_src-dd1f9fe143f20d4be760c44c974351e8c9aaca6d.zip chromium_src-dd1f9fe143f20d4be760c44c974351e8c9aaca6d.tar.gz chromium_src-dd1f9fe143f20d4be760c44c974351e8c9aaca6d.tar.bz2 |
base: Refactor PendingTask out of MessageLoop.
Also removes copy/pasted instances of this class.
BUG=none
TEST=none
R=willchan@chromium.org
Review URL: http://codereview.chromium.org/8565024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110206 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/threading/worker_pool_posix.cc')
-rw-r--r-- | base/threading/worker_pool_posix.cc | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/base/threading/worker_pool_posix.cc b/base/threading/worker_pool_posix.cc index cf45f24..da3a86b 100644 --- a/base/threading/worker_pool_posix.cc +++ b/base/threading/worker_pool_posix.cc @@ -15,6 +15,8 @@ #include "base/threading/worker_pool.h" #include "base/tracked_objects.h" +using tracked_objects::TrackedTime; + namespace base { namespace { @@ -83,20 +85,20 @@ void WorkerThread::ThreadMain() { PlatformThread::SetName(name.c_str()); for (;;) { - PosixDynamicThreadPool::PendingTask pending_task = pool_->WaitForTask(); + PendingTask pending_task = pool_->WaitForTask(); if (pending_task.task.is_null()) break; UNSHIPPED_TRACE_EVENT2("task", "WorkerThread::ThreadMain::Run", "src_file", pending_task.posted_from.file_name(), "src_func", pending_task.posted_from.function_name()); - tracked_objects::TrackedTime start_time = + TrackedTime start_time = tracked_objects::ThreadData::NowForStartOfRun(); pending_task.task.Run(); tracked_objects::ThreadData::TallyRunOnWorkerThreadIfTracking( - pending_task.birth_tally, pending_task.time_posted, + pending_task.birth_tally, TrackedTime(pending_task.time_posted), start_time, tracked_objects::ThreadData::NowForEndOfRun()); } @@ -118,18 +120,6 @@ bool WorkerPool::PostTask(const tracked_objects::Location& from_here, return true; } -PosixDynamicThreadPool::PendingTask::PendingTask( - const tracked_objects::Location& posted_from, - const base::Closure& task) - : posted_from(posted_from), - task(task) { - birth_tally = tracked_objects::ThreadData::TallyABirthIfActive(posted_from); - time_posted = tracked_objects::ThreadData::Now(); -} - -PosixDynamicThreadPool::PendingTask::~PendingTask() { -} - PosixDynamicThreadPool::PosixDynamicThreadPool( const std::string& name_prefix, int idle_seconds_before_exit) @@ -198,7 +188,7 @@ void PosixDynamicThreadPool::AddTask(PendingTask* pending_task) { } } -PosixDynamicThreadPool::PendingTask PosixDynamicThreadPool::WaitForTask() { +PendingTask PosixDynamicThreadPool::WaitForTask() { AutoLock locked(lock_); if (terminated_) |