diff options
author | Nico Weber <nicolasweber@gmx.de> | 2014-11-03 22:35:55 (GMT) |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2014-11-03 22:35:55 (GMT) |
commit | 513f5bb1ed7392686c455cbe2989d143230a1d80 (patch) | |
tree | 840a7a5939dad54bebe4bb544478bb8abbe6bf56 | |
parent | cca30e678df5ee2d9ce80bd72610e6aeb1afa60b (diff) | |
parent | 2cb9d7c2d6df859ab26b22472adbf979e28aeedd (diff) | |
download | Ninja-513f5bb1ed7392686c455cbe2989d143230a1d80.zip Ninja-513f5bb1ed7392686c455cbe2989d143230a1d80.tar.gz Ninja-513f5bb1ed7392686c455cbe2989d143230a1d80.tar.bz2 |
Merge pull request #822 from tzik/throttle
Throttle the number of pending commands by the parallelism configuration
-rw-r--r-- | src/build.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/build.cc b/src/build.cc index 64bcea3..fb1cc74 100644 --- a/src/build.cc +++ b/src/build.cc @@ -488,7 +488,9 @@ void RealCommandRunner::Abort() { } bool RealCommandRunner::CanRunMore() { - return ((int)subprocs_.running_.size()) < config_.parallelism + size_t subproc_number = + subprocs_.running_.size() + subprocs_.finished_.size(); + return (int)subproc_number < config_.parallelism && ((subprocs_.running_.empty() || config_.max_load_average <= 0.0f) || GetLoadAverage() < config_.max_load_average); } |