Remove old ThreadPool::Schedule (#1139)

master
gaschler 2018-05-03 20:58:51 +02:00 committed by Wally B. Feed
parent 21c428b1bf
commit 3ca6506bc7
5 changed files with 4 additions and 25 deletions

View File

@ -53,12 +53,6 @@ void ThreadPoolForTesting::NotifyDependenciesCompleted(Task* task) {
tasks_not_ready_.erase(it);
}
void ThreadPoolForTesting::Schedule(const std::function<void()>& work_item) {
auto task = common::make_unique<Task>();
task->SetWorkItem(work_item);
Schedule(std::move(task));
}
std::weak_ptr<Task> ThreadPoolForTesting::Schedule(std::unique_ptr<Task> task) {
std::shared_ptr<Task> shared_task;
{

View File

@ -34,18 +34,18 @@ class ThreadPoolForTesting : public ThreadPoolInterface {
ThreadPoolForTesting();
~ThreadPoolForTesting();
void NotifyDependenciesCompleted(Task* task) EXCLUDES(mutex_) override;
void Schedule(const std::function<void()>& work_item) override;
std::weak_ptr<Task> Schedule(std::unique_ptr<Task> task)
EXCLUDES(mutex_) override;
void WaitUntilIdle();
private:
friend class Task;
void DoWork();
void NotifyDependenciesCompleted(Task* task) EXCLUDES(mutex_) override;
Mutex mutex_;
bool running_ GUARDED_BY(mutex_) = true;
bool idle_ GUARDED_BY(mutex_) = true;

View File

@ -41,10 +41,6 @@ class FakeThreadPool : public ThreadPoolInterface {
tasks_not_ready_.erase(it);
}
void Schedule(const std::function<void()>& work_item) override {
LOG(FATAL) << "not implemented";
}
std::weak_ptr<Task> Schedule(std::unique_ptr<Task> task) override {
std::shared_ptr<Task> shared_task;
auto it =

View File

@ -63,12 +63,6 @@ void ThreadPool::NotifyDependenciesCompleted(Task* task) {
tasks_not_ready_.erase(it);
}
void ThreadPool::Schedule(const std::function<void()>& work_item) {
auto task = make_unique<Task>();
task->SetWorkItem(work_item);
Schedule(std::move(task));
}
std::weak_ptr<Task> ThreadPool::Schedule(std::unique_ptr<Task> task) {
std::shared_ptr<Task> shared_task;
{

View File

@ -36,8 +36,6 @@ class ThreadPoolInterface {
public:
ThreadPoolInterface() {}
virtual ~ThreadPoolInterface() {}
// TODO(gaschler): Use Schedule(unique_ptr<Task>), then remove Schedule.
virtual void Schedule(const std::function<void()>& work_item) = 0;
virtual std::weak_ptr<Task> Schedule(std::unique_ptr<Task> task) = 0;
protected:
@ -64,9 +62,6 @@ class ThreadPool : public ThreadPoolInterface {
ThreadPool(const ThreadPool&) = delete;
ThreadPool& operator=(const ThreadPool&) = delete;
// TODO(gaschler): Remove all uses.
void Schedule(const std::function<void()>& work_item) override;
// When the returned weak pointer is expired, 'task' has certainly completed,
// so dependants no longer need to add it as a dependency.
std::weak_ptr<Task> Schedule(std::unique_ptr<Task> task)