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:
parent
8552ee87b6
commit
920b924e56
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user