* test/ruby/test_process.rb (test_threading_works_after_exec_fail):
  extend timeout limit from 30 to 90 because some test nodes fails
  with timeout error.

  Also use a Queue instead of a local variable to communicate with
  threads.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2017-12-20 00:24:19 +00:00
Родитель 032e8fdf40
Коммит cc2f982852
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -2281,7 +2281,7 @@ EOS
def test_threading_works_after_exec_fail
r, w = IO.pipe
pid = status = nil
Timeout.timeout(30) do
Timeout.timeout(90) do
pid = fork do
r.close
begin
@ -2289,11 +2289,12 @@ EOS
rescue SystemCallError
w.syswrite("exec failed\n")
end
q = Queue.new
run = true
th1 = Thread.new { i = 0; i += 1 while run; i }
th2 = Thread.new { j = 0; j += 1 while run && Thread.pass.nil?; j }
th1 = Thread.new { i = 0; i += 1 while q.empty?; i }
th2 = Thread.new { j = 0; j += 1 while q.empty? && Thread.pass.nil?; j }
sleep 0.5
run = false
q << true
w.syswrite "#{th1.value} #{th2.value}\n"
end
w.close