remove extra shared_ptr use from util::ThreadPool
This commit is contained in:
@@ -27,8 +27,8 @@ public:
|
||||
: converter(std::move(converter)) {
|
||||
}
|
||||
|
||||
int operator()(const std::shared_ptr<ConvertTask>& task) override {
|
||||
converter->convert(*task);
|
||||
int operator()(const ConvertTask& task) override {
|
||||
converter->convert(task);
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
@@ -169,10 +169,10 @@ std::shared_ptr<Task> WorldConverter::startTask(
|
||||
);
|
||||
auto& converterTasks = converter->tasks;
|
||||
while (!converterTasks.empty()) {
|
||||
const ConvertTask& task = converterTasks.front();
|
||||
auto ptr = std::make_shared<ConvertTask>(task);
|
||||
pool->enqueueJob(ptr);
|
||||
ConvertTask task = std::move(converterTasks.front());
|
||||
converterTasks.pop();
|
||||
pool->enqueueJob(std::move(task));
|
||||
|
||||
}
|
||||
pool->setOnComplete([=]() {
|
||||
converter->write();
|
||||
|
||||
Reference in New Issue
Block a user