mirror of
https://github.com/reactos/ninja.git
synced 2025-02-22 12:40:55 +00:00
Factor out edge marking logic from Plan::AddSubTarget
Move the logic to mark edges as wanted over to a Plan::EdgeWanted method so it can be re-used elsewhere later.
This commit is contained in:
parent
70d356218b
commit
64acb1a22b
10
src/build.cc
10
src/build.cc
@ -327,11 +327,9 @@ bool Plan::AddSubTarget(Node* node, Node* dependent, string* err) {
|
||||
// mark it now.
|
||||
if (node->dirty() && want == kWantNothing) {
|
||||
want = kWantToStart;
|
||||
++wanted_edges_;
|
||||
EdgeWanted(edge);
|
||||
if (edge->AllInputsReady())
|
||||
ScheduleWork(want_ins.first);
|
||||
if (!edge->is_phony())
|
||||
++command_edges_;
|
||||
}
|
||||
|
||||
if (!want_ins.second)
|
||||
@ -346,6 +344,12 @@ bool Plan::AddSubTarget(Node* node, Node* dependent, string* err) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void Plan::EdgeWanted(Edge* edge) {
|
||||
++wanted_edges_;
|
||||
if (!edge->is_phony())
|
||||
++command_edges_;
|
||||
}
|
||||
|
||||
Edge* Plan::FindWork() {
|
||||
if (ready_.empty())
|
||||
return NULL;
|
||||
|
@ -96,6 +96,8 @@ private:
|
||||
kWantToFinish
|
||||
};
|
||||
|
||||
void EdgeWanted(Edge* edge);
|
||||
|
||||
/// Submits a ready edge as a candidate for execution.
|
||||
/// The edge may be delayed from running, for example if it's a member of a
|
||||
/// currently-full pool.
|
||||
|
Loading…
x
Reference in New Issue
Block a user