1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Make sure to wait with IO.select before using Socket#recvfrom_nonblock

* On all platforms, as this is the recommended code pattern.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2019-02-05 09:58:50 +00:00
parent 8552ee87b6
commit 920b924e56

View file

@ -36,12 +36,11 @@ describe 'Socket#recvfrom_nonblock' do
describe 'with data available' do
before do
@client.write('hello')
platform_is(:darwin, :freebsd) { IO.select([@server]) }
end
platform_is_not :windows do
it 'returns an Array containing the data and an Addrinfo' do
IO.select([@server])
ret = @server.recvfrom_nonblock(1)
ret.should be_an_instance_of(Array)
@ -54,8 +53,7 @@ describe 'Socket#recvfrom_nonblock' do
5.times do
@client.write('hello')
platform_is(:darwin, :freebsd) { IO.select([@server]) }
IO.select([@server])
msg, _ = @server.recvfrom_nonblock(5)
msg.should == 'hello'
@ -66,6 +64,7 @@ describe 'Socket#recvfrom_nonblock' do
platform_is_not :windows do
describe 'the returned Array' do
before do
IO.select([@server])
@array = @server.recvfrom_nonblock(1)
end
@ -80,6 +79,7 @@ describe 'Socket#recvfrom_nonblock' do
describe 'the returned Addrinfo' do
before do
IO.select([@server])
@addr = @server.recvfrom_nonblock(1)[1]
end