Chromium Code Reviews| Index: base/threading/sequenced_worker_pool_unittest.h |
| =================================================================== |
| --- base/threading/sequenced_worker_pool_unittest.h (revision 0) |
| +++ base/threading/sequenced_worker_pool_unittest.h (revision 0) |
| @@ -0,0 +1,58 @@ |
| +// Copyright (c) 2012 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. |
| + |
| +#ifndef BASE_THREADING_SEQUENCED_WORKER_POOL_UNITTEST_H_ |
| +#define BASE_THREADING_SEQUENCED_WORKER_POOL_UNITTEST_H_ |
|
akalin
2012/03/20 22:16:08
i think it's better to put this in a new file sequ
Francois
2012/03/26 09:33:21
Done.
|
| + |
| +#include <string> |
| + |
| +#include "base/callback.h" |
| +#include "base/synchronization/lock.h" |
| +#include "base/threading/sequenced_worker_pool.h" |
| + |
| +class MessageLoop; |
| + |
| +namespace base { |
| + |
| +// Wrapper around SequencedWorkerPool that blocks destruction until |
|
akalin
2012/03/20 22:16:08
SequencedWorkerPool that -> SequencedWorkerPool fo
Francois
2012/03/26 09:33:21
Done.
|
| +// the pool is actually destroyed. This is so that a |
| +// SequencedWorkerPool from one test doesn't outlive its test and |
| +// cause strange races with other tests that touch global stuff (like |
| +// histograms and logging). However, this requires that nothing else |
| +// on this thread holds a ref to the pool when the |
| +// SequencedWorkerPoolOwner is destroyed. |
| +class SequencedWorkerPoolOwner : public SequencedWorkerPool::TestingObserver { |
| + public: |
| + SequencedWorkerPoolOwner(size_t max_threads, |
| + const std::string& thread_name_prefix); |
| + |
| + virtual ~SequencedWorkerPoolOwner(); |
| + |
| + // Don't change the return pool's testing observer. |
|
akalin
2012/03/20 22:16:08
return -> returned
Francois
2012/03/26 09:33:21
Done.
|
| + const scoped_refptr<SequencedWorkerPool>& pool(); |
| + |
| + // The given callback will be called on WillWaitForShutdown(). |
| + void SetWillWaitForShutdownCallback(const Closure& callback); |
| + |
| + int has_work_call_count() const; |
| + |
| + private: |
| + // SequencedWorkerPool::TestingObserver implementation. |
| + virtual void OnHasWork() OVERRIDE; |
|
akalin
2012/03/20 22:16:08
need compiler_specific.h include for this
Francois
2012/03/26 09:33:21
Done.
|
| + virtual void WillWaitForShutdown() OVERRIDE; |
| + virtual void OnDestruct() OVERRIDE; |
| + |
| + MessageLoop* const constructor_message_loop_; |
| + scoped_refptr<SequencedWorkerPool> pool_; |
|
akalin
2012/03/20 22:16:08
need base/memory/ref_counted.h include for this
Francois
2012/03/26 09:33:21
Done.
|
| + Closure will_wait_for_shutdown_callback_; |
| + |
| + mutable Lock has_work_lock_; |
| + int has_work_call_count_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(SequencedWorkerPoolOwner); |
|
akalin
2012/03/20 22:16:08
need #include "base/basictypes.h" for this
Francois
2012/03/26 09:33:21
Done.
|
| +}; |
| + |
| +} // namespace base |
| + |
| +#endif // BASE_THREADING_SEQUENCED_WORKER_POOL_UNITTEST_H_ |
| Property changes on: base/threading/sequenced_worker_pool_unittest.h |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |