| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/threading/sequenced_worker_pool.h" | 5 #include "base/threading/sequenced_worker_pool.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 private: | 68 private: |
| 69 base::Lock lock_; | 69 base::Lock lock_; |
| 70 base::ConditionVariable cond_var_; | 70 base::ConditionVariable cond_var_; |
| 71 | 71 |
| 72 size_t unblock_counter_; | 72 size_t unblock_counter_; |
| 73 }; | 73 }; |
| 74 | 74 |
| 75 class DestructionDeadlockChecker | 75 class DestructionDeadlockChecker |
| 76 : public base::RefCountedThreadSafe<DestructionDeadlockChecker> { | 76 : public base::RefCountedThreadSafe<DestructionDeadlockChecker> { |
| 77 public: | 77 public: |
| 78 explicit DestructionDeadlockChecker( | 78 explicit DestructionDeadlockChecker(scoped_refptr<SequencedWorkerPool> pool) |
| 79 const scoped_refptr<SequencedWorkerPool>& pool) | 79 : pool_(std::move(pool)) {} |
| 80 : pool_(pool) {} | |
| 81 | 80 |
| 82 protected: | 81 protected: |
| 83 virtual ~DestructionDeadlockChecker() { | 82 virtual ~DestructionDeadlockChecker() { |
| 84 // This method should not deadlock. | 83 // This method should not deadlock. |
| 85 pool_->RunsTasksOnCurrentThread(); | 84 pool_->RunsTasksOnCurrentThread(); |
| 86 } | 85 } |
| 87 | 86 |
| 88 private: | 87 private: |
| 89 scoped_refptr<SequencedWorkerPool> pool_; | 88 scoped_refptr<SequencedWorkerPool> pool_; |
| 90 friend class base::RefCountedThreadSafe<DestructionDeadlockChecker>; | 89 friend class base::RefCountedThreadSafe<DestructionDeadlockChecker>; |
| (...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1159 SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest, | 1158 SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest, |
| 1160 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); | 1159 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); |
| 1161 INSTANTIATE_TYPED_TEST_CASE_P( | 1160 INSTANTIATE_TYPED_TEST_CASE_P( |
| 1162 SequencedWorkerPoolSequencedTaskRunner, | 1161 SequencedWorkerPoolSequencedTaskRunner, |
| 1163 SequencedTaskRunnerDelayedTest, | 1162 SequencedTaskRunnerDelayedTest, |
| 1164 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); | 1163 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); |
| 1165 | 1164 |
| 1166 } // namespace | 1165 } // namespace |
| 1167 | 1166 |
| 1168 } // namespace base | 1167 } // namespace base |
| OLD | NEW |