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:
parent
8552ee87b6
commit
920b924e56
1 changed files with 4 additions and 4 deletions
|
|
@ -36,12 +36,11 @@ describe 'Socket#recvfrom_nonblock' do
|
||||||
describe 'with data available' do
|
describe 'with data available' do
|
||||||
before do
|
before do
|
||||||
@client.write('hello')
|
@client.write('hello')
|
||||||
|
|
||||||
platform_is(:darwin, :freebsd) { IO.select([@server]) }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
platform_is_not :windows do
|
platform_is_not :windows do
|
||||||
it 'returns an Array containing the data and an Addrinfo' do
|
it 'returns an Array containing the data and an Addrinfo' do
|
||||||
|
IO.select([@server])
|
||||||
ret = @server.recvfrom_nonblock(1)
|
ret = @server.recvfrom_nonblock(1)
|
||||||
|
|
||||||
ret.should be_an_instance_of(Array)
|
ret.should be_an_instance_of(Array)
|
||||||
|
|
@ -54,8 +53,7 @@ describe 'Socket#recvfrom_nonblock' do
|
||||||
5.times do
|
5.times do
|
||||||
@client.write('hello')
|
@client.write('hello')
|
||||||
|
|
||||||
platform_is(:darwin, :freebsd) { IO.select([@server]) }
|
IO.select([@server])
|
||||||
|
|
||||||
msg, _ = @server.recvfrom_nonblock(5)
|
msg, _ = @server.recvfrom_nonblock(5)
|
||||||
|
|
||||||
msg.should == 'hello'
|
msg.should == 'hello'
|
||||||
|
|
@ -66,6 +64,7 @@ describe 'Socket#recvfrom_nonblock' do
|
||||||
platform_is_not :windows do
|
platform_is_not :windows do
|
||||||
describe 'the returned Array' do
|
describe 'the returned Array' do
|
||||||
before do
|
before do
|
||||||
|
IO.select([@server])
|
||||||
@array = @server.recvfrom_nonblock(1)
|
@array = @server.recvfrom_nonblock(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -80,6 +79,7 @@ describe 'Socket#recvfrom_nonblock' do
|
||||||
|
|
||||||
describe 'the returned Addrinfo' do
|
describe 'the returned Addrinfo' do
|
||||||
before do
|
before do
|
||||||
|
IO.select([@server])
|
||||||
@addr = @server.recvfrom_nonblock(1)[1]
|
@addr = @server.recvfrom_nonblock(1)[1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue