}
do {
- if (edge->rule_ == &State::kPhonyRule) {
- plan_.EdgeFinished(edge);
- continue;
- }
-
- if (!StartEdge(edge, err))
- return false;
+ if (edge->rule_ != &State::kPhonyRule) {
+ if (!StartEdge(edge, err))
+ return false;
- while (!(edge = command_runner_->NextFinishedCommand())) {
- command_runner_->WaitForCommands(err);
+ while (!(edge = command_runner_->NextFinishedCommand())) {
+ command_runner_->WaitForCommands(err);
+ }
}
for (vector<Node*>::iterator i = edge->outputs_.begin();