summaryrefslogtreecommitdiffstats
path: root/base/message_loop/incoming_task_queue.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/message_loop/incoming_task_queue.h')
-rw-r--r--base/message_loop/incoming_task_queue.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/base/message_loop/incoming_task_queue.h b/base/message_loop/incoming_task_queue.h
index 72e1f30..7dd1e82 100644
--- a/base/message_loop/incoming_task_queue.h
+++ b/base/message_loop/incoming_task_queue.h
@@ -53,6 +53,10 @@ class BASE_EXPORT IncomingTaskQueue
// Disconnects |this| from the parent message loop.
void WillDestroyCurrentMessageLoop();
+ // This should be called when the message loop becomes ready for
+ // scheduling work.
+ void StartScheduling();
+
private:
friend class RefCountedThreadSafe<IncomingTaskQueue>;
virtual ~IncomingTaskQueue();
@@ -66,6 +70,9 @@ class BASE_EXPORT IncomingTaskQueue
// does not retain |pending_task->task| beyond this function call.
bool PostPendingTask(PendingTask* pending_task);
+ // Wakes up the message loop and schedules work.
+ void ScheduleWork();
+
// Number of tasks that require high resolution timing. This value is kept
// so that ReloadWorkQueue() completes in constant time.
int high_res_task_count_;
@@ -92,6 +99,9 @@ class BASE_EXPORT IncomingTaskQueue
// if the incoming queue was not empty.
const bool always_schedule_work_;
+ // False until StartScheduling() is called.
+ bool is_ready_for_scheduling_;
+
DISALLOW_COPY_AND_ASSIGN(IncomingTaskQueue);
};