Index: base/threading/worker_pool_unittest.cc |
diff --git a/base/threading/worker_pool_unittest.cc b/base/threading/worker_pool_unittest.cc |
index cd20f478044fdc42c2e89020a34cc0722c54d6e8..d36cb1bab5833468e700b26ab10016c7e4b7e4b1 100644 |
--- a/base/threading/worker_pool_unittest.cc |
+++ b/base/threading/worker_pool_unittest.cc |
@@ -5,6 +5,7 @@ |
#include "base/threading/worker_pool.h" |
#include "base/bind.h" |
+#include "base/bind_helpers.h" |
#include "base/location.h" |
#include "base/message_loop.h" |
#include "base/task.h" |
@@ -21,19 +22,6 @@ namespace base { |
namespace { |
-class PostTaskTestTask : public Task { |
- public: |
- explicit PostTaskTestTask(WaitableEvent* event) : event_(event) { |
- } |
- |
- void Run() { |
- event_->Signal(); |
- } |
- |
- private: |
- WaitableEvent* event_; |
-}; |
- |
class PostTaskAndReplyTester |
: public base::RefCountedThreadSafe<PostTaskAndReplyTester> { |
public: |
@@ -81,8 +69,14 @@ TEST_F(WorkerPoolTest, PostTask) { |
WaitableEvent test_event(false, false); |
WaitableEvent long_test_event(false, false); |
- WorkerPool::PostTask(FROM_HERE, new PostTaskTestTask(&test_event), false); |
- WorkerPool::PostTask(FROM_HERE, new PostTaskTestTask(&long_test_event), true); |
+ WorkerPool::PostTask(FROM_HERE, |
+ base::Bind(&WaitableEvent::Signal, |
+ base::Unretained(&test_event)), |
+ false); |
+ WorkerPool::PostTask(FROM_HERE, |
+ base::Bind(&WaitableEvent::Signal, |
+ base::Unretained(&long_test_event)), |
+ true); |
test_event.Wait(); |
long_test_event.Wait(); |