diff options
author | Evan Martin <martine@danga.com> | 2012-12-13 19:55:35 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2012-12-13 19:55:35 (GMT) |
commit | 8fcc4caf8f98c532f0f5078b7a0593b0904871a0 (patch) | |
tree | cb9401a1d328d96073d4c27e4ce2b19a821579f7 /src/build.h | |
parent | 991d5e0181ffe8826936ffd549bfbae63d2928ae (diff) | |
parent | c18b15da63e7d759ba9c1b89825c625ac42ee248 (diff) | |
download | Ninja-8fcc4caf8f98c532f0f5078b7a0593b0904871a0.zip Ninja-8fcc4caf8f98c532f0f5078b7a0593b0904871a0.tar.gz Ninja-8fcc4caf8f98c532f0f5078b7a0593b0904871a0.tar.bz2 |
Merge pull request #461 from riannucci/global_section
Resource pools for ninja
Diffstat (limited to 'src/build.h')
-rw-r--r-- | src/build.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/build.h b/src/build.h index 5b05601..23f653e 100644 --- a/src/build.h +++ b/src/build.h @@ -15,13 +15,13 @@ #ifndef NINJA_BUILD_H_ #define NINJA_BUILD_H_ +#include <cstdio> #include <map> +#include <memory> +#include <queue> #include <set> #include <string> -#include <queue> #include <vector> -#include <memory> -#include <cstdio> #include "graph.h" // XXX needed for DependencyScan; should rearrange. #include "exit_status.h" @@ -70,6 +70,16 @@ private: bool CheckDependencyCycle(Node* node, vector<Node*>* stack, string* err); void NodeFinished(Node* node); + /// 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. + void ScheduleWork(Edge* edge); + + /// Allows jobs blocking on |edge| to potentially resume. + /// For example, if |edge| is a member of a pool, calling this may schedule + /// previously pending jobs in that pool. + void ResumeDelayedJobs(Edge* edge); + /// Keep track of which edges we want to build in this plan. If this map does /// not contain an entry for an edge, we do not want to build the entry or its /// dependents. If an entry maps to false, we do not want to build it, but we |