test/unit.rb: close jobserver
* test/lib/test/unit.rb (Test::Unit::Parallel#flush_job_tokens): close jobserver auth fds aflter flush, not to release tokens more than acquired. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
bc08e66607
commit
b89367d6d5
@ -292,8 +292,11 @@ module Test
|
||||
|
||||
def flush_job_tokens
|
||||
if @jobserver
|
||||
@jobserver[1] << @job_tokens
|
||||
@job_tokens.clear
|
||||
r, w = @jobserver.shift(2)
|
||||
@jobserver = nil
|
||||
w << @job_tokens.slice!(0..-1)
|
||||
r.close
|
||||
w.close
|
||||
end
|
||||
end
|
||||
|
||||
@ -317,8 +320,8 @@ module Test
|
||||
return unless @options[:parallel]
|
||||
return if @interrupt
|
||||
worker.close
|
||||
if @jobserver and !@job_tokens.empty?
|
||||
@jobserver[1] << @job_tokens.slice!(0)
|
||||
if @jobserver and (token = @job_tokens.slice!(0))
|
||||
@jobserver[1] << token
|
||||
end
|
||||
@workers.delete(worker)
|
||||
@dead_workers << worker
|
||||
|
Loading…
x
Reference in New Issue
Block a user