diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-06-16 23:59:33 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-06-16 23:59:33 +0000 |
commit | 9bf9d0ef42eb3fb87c4da72a06c17c9b725ef3b7 (patch) | |
tree | 5231b12ec03f848ae3b7db4272c60476737bf7cd /spec/default.mspec | |
parent | 287533753347cb688d1d65bea6ef17724e237951 (diff) | |
download | ruby-9bf9d0ef42eb3fb87c4da72a06c17c9b725ef3b7.tar.gz |
default.mspec: limit cores
* spec/default.mspec (MSpecScript::JobServer#cores): limit max
number of processors, not to acquire tokens more than necessary.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/default.mspec')
-rw-r--r-- | spec/default.mspec | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/spec/default.mspec b/spec/default.mspec index cdc9fe558e..0805f467a4 100644 --- a/spec/default.mspec +++ b/spec/default.mspec @@ -24,15 +24,16 @@ class MSpecScript end module MSpecScript::JobServer - def cores - if /(?:\A|\s)--jobserver-(?:auth|fds)=(\d+),(\d+)/ =~ ENV["MAKEFLAGS"] - cores = 0 + def cores(max = 1) + if max > 1 and /(?:\A|\s)--jobserver-(?:auth|fds)=(\d+),(\d+)/ =~ ENV["MAKEFLAGS"] + cores = 1 begin r = IO.for_fd($1.to_i(10), "rb", autoclose: false) w = IO.for_fd($2.to_i(10), "wb", autoclose: false) - jobtokens = r.read_nonblock(1024) + jobtokens = r.read_nonblock(max - 1) cores = jobtokens.size if cores > 0 + cores += 1 jobserver = w w = nil at_exit { |