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
|
def flush_job_tokens
|
||||||
if @jobserver
|
if @jobserver
|
||||||
@jobserver[1] << @job_tokens
|
r, w = @jobserver.shift(2)
|
||||||
@job_tokens.clear
|
@jobserver = nil
|
||||||
|
w << @job_tokens.slice!(0..-1)
|
||||||
|
r.close
|
||||||
|
w.close
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -317,8 +320,8 @@ module Test
|
|||||||
return unless @options[:parallel]
|
return unless @options[:parallel]
|
||||||
return if @interrupt
|
return if @interrupt
|
||||||
worker.close
|
worker.close
|
||||||
if @jobserver and !@job_tokens.empty?
|
if @jobserver and (token = @job_tokens.slice!(0))
|
||||||
@jobserver[1] << @job_tokens.slice!(0)
|
@jobserver[1] << token
|
||||||
end
|
end
|
||||||
@workers.delete(worker)
|
@workers.delete(worker)
|
||||||
@dead_workers << worker
|
@dead_workers << worker
|
||||||
|
Loading…
x
Reference in New Issue
Block a user