| Index: tools/gn/scheduler.cc
|
| diff --git a/tools/gn/scheduler.cc b/tools/gn/scheduler.cc
|
| index 72c310bb071d1072698e3bdee6cf18b56c793965..254de0d5a097d6a4b5e24e8b7898de09cae33ce8 100644
|
| --- a/tools/gn/scheduler.cc
|
| +++ b/tools/gn/scheduler.cc
|
| @@ -7,7 +7,6 @@
|
| #include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "base/strings/string_number_conversions.h"
|
| -#include "tools/gn/ninja_target_writer.h"
|
| #include "tools/gn/standard_out.h"
|
|
|
| Scheduler* g_scheduler = NULL;
|
| @@ -31,17 +30,22 @@ Scheduler::Scheduler()
|
| input_file_manager_(new InputFileManager),
|
| verbose_logging_(false),
|
| work_count_(0),
|
| - is_failed_(false) {
|
| + is_failed_(false),
|
| + has_been_shutdown_(false) {
|
| g_scheduler = this;
|
| }
|
|
|
| Scheduler::~Scheduler() {
|
| + if (!has_been_shutdown_)
|
| + pool_->Shutdown();
|
| g_scheduler = NULL;
|
| }
|
|
|
| bool Scheduler::Run() {
|
| runner_.Run();
|
| + base::AutoLock lock(lock_);
|
| pool_->Shutdown();
|
| + has_been_shutdown_ = true;
|
| return !is_failed();
|
| }
|
|
|
| @@ -86,13 +90,6 @@ void Scheduler::ScheduleWork(const base::Closure& work) {
|
| base::SequencedWorkerPool::BLOCK_SHUTDOWN);
|
| }
|
|
|
| -void Scheduler::ScheduleTargetFileWrite(const Target* target) {
|
| - pool_->PostWorkerTaskWithShutdownBehavior(
|
| - FROM_HERE, base::Bind(&Scheduler::DoTargetFileWrite,
|
| - base::Unretained(this), target),
|
| - base::SequencedWorkerPool::BLOCK_SHUTDOWN);
|
| -}
|
| -
|
| void Scheduler::AddGenDependency(const base::FilePath& file) {
|
| base::AutoLock lock(lock_);
|
| gen_dependencies_.push_back(file);
|
| @@ -130,10 +127,6 @@ void Scheduler::FailWithErrorOnMainThread(const Err& err) {
|
| runner_.Quit();
|
| }
|
|
|
| -void Scheduler::DoTargetFileWrite(const Target* target) {
|
| - NinjaTargetWriter::RunAndWriteFile(target);
|
| -}
|
| -
|
| void Scheduler::DoWork(const base::Closure& closure) {
|
| closure.Run();
|
| DecrementWorkCount();
|
|
|