|
Ninja
|

Public Member Functions | |
| void | Abort () override |
| size_t | CanRunMore () const override |
| void | ClearJobTokens () |
| std::vector< Edge * > | GetActiveEdges () override |
| RealCommandRunner (const BuildConfig &config, Jobserver::Client *jobserver) | |
| bool | StartCommand (Edge *edge) override |
| bool | WaitForCommand (Result *result) override |
| Wait for a command to complete, or return false if interrupted. More... | |
Static Public Member Functions | |
| static CommandRunner * | factory (const BuildConfig &config, Jobserver::Client *jobserver) |
| Creates the RealCommandRunner. More... | |
Public Attributes | |
| const BuildConfig & | config_ |
| Jobserver::Client * | jobserver_ = nullptr |
| std::map< const Subprocess *, Edge * > | subproc_to_edge_ |
| SubprocessSet | subprocs_ |
Definition at line 20 of file real_command_runner.cc.
|
inlineexplicit |
Definition at line 21 of file real_command_runner.cc.
|
overridevirtual |
Reimplemented from CommandRunner.
Definition at line 53 of file real_command_runner.cc.
References SubprocessSet::Clear(), ClearJobTokens(), and subprocs_.
|
overridevirtual |
Implements CommandRunner.
Definition at line 58 of file real_command_runner.cc.
References config_, SubprocessSet::finished_, GetLoadAverage(), jobserver_, BuildConfig::max_load_average, BuildConfig::parallelism, SubprocessSet::running_, and subprocs_.
|
inline |
Definition at line 30 of file real_command_runner.cc.
References GetActiveEdges(), jobserver_, and Jobserver::Client::Release().
Referenced by Abort().
|
staticinherited |
Creates the RealCommandRunner.
Definition at line 117 of file real_command_runner.cc.
Referenced by Builder::Build().
|
overridevirtual |
Reimplemented from CommandRunner.
Definition at line 44 of file real_command_runner.cc.
References subproc_to_edge_.
Referenced by ClearJobTokens().
|
overridevirtual |
Implements CommandRunner.
Definition at line 87 of file real_command_runner.cc.
References SubprocessSet::Add(), Edge::EvaluateCommand(), subproc_to_edge_, subprocs_, and Edge::use_console().
|
overridevirtual |
Wait for a command to complete, or return false if interrupted.
Implements CommandRunner.
Definition at line 97 of file real_command_runner.cc.
References SubprocessSet::DoWork(), CommandRunner::Result::edge, Subprocess::Finish(), Subprocess::GetOutput(), SubprocessSet::NextFinished(), CommandRunner::Result::output, CommandRunner::Result::status, subproc_to_edge_, and subprocs_.
| const BuildConfig& RealCommandRunner::config_ |
Definition at line 38 of file real_command_runner.cc.
Referenced by CanRunMore().
| Jobserver::Client* RealCommandRunner::jobserver_ = nullptr |
Definition at line 40 of file real_command_runner.cc.
Referenced by CanRunMore(), and ClearJobTokens().
| std::map<const Subprocess*, Edge*> RealCommandRunner::subproc_to_edge_ |
Definition at line 41 of file real_command_runner.cc.
Referenced by GetActiveEdges(), StartCommand(), and WaitForCommand().
| SubprocessSet RealCommandRunner::subprocs_ |
Definition at line 39 of file real_command_runner.cc.
Referenced by Abort(), CanRunMore(), StartCommand(), and WaitForCommand().