Index: base/task_scheduler/scheduler_worker_thread.cc |
diff --git a/base/task_scheduler/scheduler_worker_thread.cc b/base/task_scheduler/scheduler_worker_thread.cc |
index 49dde51d6a7b036675fd47d645df60e0c0e4e242..ec2b289ec933c1271ed52d8ad2ed566142be3904 100644 |
--- a/base/task_scheduler/scheduler_worker_thread.cc |
+++ b/base/task_scheduler/scheduler_worker_thread.cc |
@@ -74,7 +74,10 @@ void SchedulerWorkerThread::ThreadMain() { |
} |
task_tracker_->RunTask(sequence->PeekTask()); |
- delegate_->RanTaskFromSequence(std::move(sequence)); |
+ |
+ const bool sequence_became_empty = sequence->PopTask(); |
gab
2016/04/07 21:37:33
In other places you have comments explaining why t
fdoray
2016/04/08 15:59:12
Done.
|
+ if (!sequence_became_empty) |
+ delegate_->EnqueueSequence(std::move(sequence)); |
// Calling WakeUp() guarantees that this SchedulerWorkerThread will run |
// Tasks from Sequences returned by the GetWork() method of |delegate_| |