summaryrefslogtreecommitdiff
path: root/spec/default.mspec
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-16 23:59:33 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-16 23:59:33 +0000
commit9bf9d0ef42eb3fb87c4da72a06c17c9b725ef3b7 (patch)
tree5231b12ec03f848ae3b7db4272c60476737bf7cd /spec/default.mspec
parent287533753347cb688d1d65bea6ef17724e237951 (diff)
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.mspec9
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 {