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#accept_nonblock and recvfrom_nonblock

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2019-02-05 10:19:29 +00:00
parent 920b924e56
commit c1f0daeb6a
2 changed files with 5 additions and 4 deletions

View file

@ -86,8 +86,6 @@ describe 'Socket#accept_nonblock' do
@client = Socket.new(family, :STREAM, 0)
@client.connect(addr)
platform_is(:darwin, :freebsd, :solaris) { IO.select([@server]) }
end
after do
@ -96,6 +94,7 @@ describe 'Socket#accept_nonblock' do
end
it 'returns an Array containing a Socket and an Addrinfo' do
IO.select([@server])
@socket, addrinfo = @server.accept_nonblock
@socket.should be_an_instance_of(Socket)
@ -104,6 +103,7 @@ describe 'Socket#accept_nonblock' do
describe 'the returned Addrinfo' do
before do
IO.select([@server])
@socket, @addr = @server.accept_nonblock
end

View file

@ -40,16 +40,16 @@ describe 'UDPSocket#recvfrom_nonblock' do
describe 'with data available' do
before do
@client.write('hello')
platform_is(:darwin, :freebsd) { IO.select([@server]) }
end
it 'returns an Array containing the data and an Array' do
IO.select([@server])
@server.recvfrom_nonblock(1).should be_an_instance_of(Array)
end
describe 'the returned Array' do
before do
IO.select([@server])
@array = @server.recvfrom_nonblock(1)
end
@ -64,6 +64,7 @@ describe 'UDPSocket#recvfrom_nonblock' do
describe 'the returned address Array' do
before do
IO.select([@server])
@addr = @server.recvfrom_nonblock(1)[1]
end