Chromium Code Reviews| Index: base/test/sequenced_task_runner_test_template.cc |
| =================================================================== |
| --- base/test/sequenced_task_runner_test_template.cc (revision 178148) |
| +++ base/test/sequenced_task_runner_test_template.cc (working copy) |
| @@ -16,7 +16,10 @@ |
| : i(i), type(type) { |
| } |
| -SequencedTaskTracker::SequencedTaskTracker() : next_post_i_(0) { |
| +SequencedTaskTracker::SequencedTaskTracker() |
| + : next_post_i_(0), |
| + task_end_count_(0), |
| + task_end_cv_(&lock_) { |
| } |
| void SequencedTaskTracker::PostWrappedNonNestableTask( |
| @@ -81,6 +84,8 @@ |
| void SequencedTaskTracker::TaskEnded(int i) { |
| AutoLock lock(lock_); |
| events_.push_back(TaskEvent(i, TaskEvent::END)); |
| + ++task_end_count_; |
| + task_end_cv_.Signal(); |
| } |
| const std::vector<TaskEvent>& |
| @@ -88,6 +93,12 @@ |
| return events_; |
| } |
| +void SequencedTaskTracker::WaitForTasksToComplete(int count) { |
| + AutoLock lock(lock_); |
| + while (task_end_count_ != count) |
|
jar (doing other things)
2013/02/22 23:39:47
nit: per your suggestion, perhaps we should use >=
michaeln
2013/02/23 01:10:16
Done, here and elsewhere.
|
| + task_end_cv_.Wait(); |
| +} |
| + |
| SequencedTaskTracker::~SequencedTaskTracker() { |
| } |