Lines Matching refs:task
54 bool tryPop(Task** task) in tryPop()
58 *task = taskDeque.front(); in tryPop()
62 bool tryPush(Task* task) in tryPush()
67 taskDeque.back(task); in tryPush()
82 bool pop(Task** task) in pop()
92 *task = taskDeque.front(); in pop()
96 void push(Task* task) in push()
100 taskDeque.back(task); in push()
143 Task* task; in run() local
149 if (taskQueues[(i + x) % threads.count]->tryPop(&task)) { in run()
155 if (!success && !taskQueues[i]->pop(&task)) break; in run()
156 (*task)(i + 1); in run()
160 void request(Task* task) in request()
164 task->prepare(); in request()
167 if (taskQueues[(i + n) % threads.count]->tryPush(task)) return; in request()
169 taskQueues[i % threads.count]->push(task); in request()
172 task->run(0); in request()
189 void request(Task* task) { task->run(0); } in request()
215 void TaskScheduler::request(Task* task) in request() argument
217 if (inst) inst->request(task); in request()