Simply treat IO::WaitReadable just like Errno::EAGAIN

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2018-11-20 05:18:28 +00:00
Родитель 0deee5c0aa
Коммит 34f3f916e6
1 изменённых файлов: 1 добавлений и 7 удалений

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

@ -383,15 +383,9 @@ def assert_finish(timeout_seconds, testsrc, message = '')
end
if io.respond_to?(:read_nonblock)
if IO.select([io], nil, nil, diff)
tries = 0
begin
io.read_nonblock(1024)
rescue IO::WaitReadable
IO.select([io])
tries += 1
break if tries > 3
retry
rescue Errno::EAGAIN, EOFError
rescue Errno::EAGAIN, IO::WaitReadable, EOFError
break
end while true
end