diff options
author | groby@chromium.org <groby@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-22 19:13:14 +0000 |
---|---|---|
committer | groby@chromium.org <groby@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-22 19:13:14 +0000 |
commit | b6dbdce9b4c536b4d0208ab2a0bf39bd219824bf (patch) | |
tree | fae8e95d7d02b8cdcd1c2dfc078b4996cacd5e49 /net | |
parent | d88a73ccf8313c4ced46cdfeff01f1e7aa60300e (diff) | |
download | chromium_src-b6dbdce9b4c536b4d0208ab2a0bf39bd219824bf.zip chromium_src-b6dbdce9b4c536b4d0208ab2a0bf39bd219824bf.tar.gz chromium_src-b6dbdce9b4c536b4d0208ab2a0bf39bd219824bf.tar.bz2 |
base::Bind fixes
R=jhawkins@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8741007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115572 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/test_completion_callback_unittest.cc | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/net/base/test_completion_callback_unittest.cc b/net/base/test_completion_callback_unittest.cc index 20ca596..3d2aa01 100644 --- a/net/base/test_completion_callback_unittest.cc +++ b/net/base/test_completion_callback_unittest.cc @@ -1,12 +1,12 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Illustrates how to use worker threads that issue completion callbacks +#include "base/bind.h" #include "base/logging.h" #include "base/message_loop.h" -#include "base/task.h" #include "base/threading/worker_pool.h" #include "net/base/completion_callback.h" #include "net/base/test_completion_callback.h" @@ -66,20 +66,15 @@ void ExampleEmployer::ExampleWorker::DoWork() { // Running on the worker thread // In a real worker thread, some work would be done here. // Pretend it is, and send the completion callback. - Task* reply = NewRunnableMethod(this, &ExampleWorker::DoCallback); // The origin loop could go away while we are trying to post to it, so we // need to call its PostTask method inside a lock. See ~ExampleEmployer. { base::AutoLock locked(origin_loop_lock_); - if (origin_loop_) { - origin_loop_->PostTask(FROM_HERE, reply); - reply = NULL; - } + if (origin_loop_) + origin_loop_->PostTask(FROM_HERE, + base::Bind(&ExampleWorker::DoCallback, this)); } - - // Does nothing if it got posted. - delete reply; } void ExampleEmployer::ExampleWorker::DoCallback() { @@ -105,8 +100,10 @@ bool ExampleEmployer::DoSomething(OldCompletionCallback* callback) { request_ = new ExampleWorker(this, callback); // Dispatch to worker thread... - if (!base::WorkerPool::PostTask(FROM_HERE, - NewRunnableMethod(request_.get(), &ExampleWorker::DoWork), true)) { + if (!base::WorkerPool::PostTask( + FROM_HERE, + base::Bind(&ExampleWorker::DoWork, request_.get()), + true)) { NOTREACHED(); request_ = NULL; return false; |