summaryrefslogtreecommitdiffstats
path: root/src/build.h
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-12-13 19:55:35 (GMT)
committerEvan Martin <martine@danga.com>2012-12-13 19:55:35 (GMT)
commit8fcc4caf8f98c532f0f5078b7a0593b0904871a0 (patch)
treecb9401a1d328d96073d4c27e4ce2b19a821579f7 /src/build.h
parent991d5e0181ffe8826936ffd549bfbae63d2928ae (diff)
parentc18b15da63e7d759ba9c1b89825c625ac42ee248 (diff)
downloadNinja-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.h16
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