forked from bartvdbraak/blender
Cleanup: use move semantics for task pool functions
This commit is contained in:
parent
f9d138be51
commit
b7c34c889b
@ -59,9 +59,9 @@ void TaskPool::push(Task *task, bool front)
|
||||
TaskScheduler::push(entry, front);
|
||||
}
|
||||
|
||||
void TaskPool::push(const TaskRunFunction &run, bool front)
|
||||
void TaskPool::push(TaskRunFunction &&run, bool front)
|
||||
{
|
||||
push(new Task(run), front);
|
||||
push(new Task(std::move(run)), front);
|
||||
}
|
||||
|
||||
void TaskPool::wait_work(Summary *stats)
|
||||
@ -478,9 +478,9 @@ void DedicatedTaskPool::push(Task *task, bool front)
|
||||
queue_mutex.unlock();
|
||||
}
|
||||
|
||||
void DedicatedTaskPool::push(const TaskRunFunction &run, bool front)
|
||||
void DedicatedTaskPool::push(TaskRunFunction &&run, bool front)
|
||||
{
|
||||
push(new Task(run), front);
|
||||
push(new Task(std::move(run)), front);
|
||||
}
|
||||
|
||||
void DedicatedTaskPool::wait()
|
||||
|
@ -51,7 +51,7 @@ typedef function<void(int thread_id)> TaskRunFunction;
|
||||
class Task {
|
||||
public:
|
||||
Task(){};
|
||||
explicit Task(const TaskRunFunction &run_) : run(run_)
|
||||
explicit Task(TaskRunFunction &&run_) : run(run_)
|
||||
{
|
||||
}
|
||||
|
||||
@ -90,7 +90,7 @@ class TaskPool {
|
||||
~TaskPool();
|
||||
|
||||
void push(Task *task, bool front = false);
|
||||
void push(const TaskRunFunction &run, bool front = false);
|
||||
void push(TaskRunFunction &&run, bool front = false);
|
||||
|
||||
void wait_work(Summary *stats = NULL); /* work and wait until all tasks are done */
|
||||
void cancel(); /* cancel all tasks, keep worker threads running */
|
||||
@ -180,7 +180,7 @@ class DedicatedTaskPool {
|
||||
~DedicatedTaskPool();
|
||||
|
||||
void push(Task *task, bool front = false);
|
||||
void push(const TaskRunFunction &run, bool front = false);
|
||||
void push(TaskRunFunction &&run, bool front = false);
|
||||
|
||||
void wait(); /* wait until all tasks are done */
|
||||
void cancel(); /* cancel all tasks, keep worker thread running */
|
||||
|
Loading…
Reference in New Issue
Block a user